当前位置:  开发笔记 > 编程语言 > 正文

你如何阅读Perl中的系统时间和日期?

如何解决《你如何阅读Perl中的系统时间和日期?》经验,为你挑选了4个好方法。

我需要读取系统时钟(时间和日期)并在Perl中以人类可读的格式显示它.

目前,我正在使用以下方法(我在这里找到):

#!/usr/local/bin/perl
@months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
@weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
$year = 1900 + $yearOffset;
$theTime = "$hour:$minute:$second, $weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";
print $theTime; 

当您运行该程序时,您应该看到更加可读的日期和时间,如下所示:

9:14:42, Wed Dec 28, 2005 

这似乎更像是为了说明而不是实际的生产代码.有更规范的方式吗?



1> Igor Oks..:

使用本地时间功能:

在标量上下文中,localtime()返回ctime(3)值:

$now_string = localtime;  # e.g., "Thu Oct 13 04:54:34 1994"



2> Powerlord..:

您可以使用localtime来获取时间,使用POSIX模块strftime来格式化它.

虽然使用Date :: Format和它的strftime很好,因为它使用较少的开销,但POSIX模块与Perl一起分发,因此几乎可以保证在给定的系统上.

use POSIX;
print POSIX::strftime( "%A, %B %d, %Y", localtime());
# Should print something like Wednesday, January 28, 2009
# ...if you're using an English locale, that is.
# Note that this and Date::Format's strftime are pretty much identical


在现代Perl> = 5.10中,我还推荐Time :: Piece(http://perldoc.perl.org/Time/Piece.html)

3> Alex Fort..:

像其他人提到的那样,你可以使用localtime,但我会用Date :: Format解析它.它会以几乎任何你需要的方式为你提供时间戳.



4> J.J...:

正如其他人所说的那样,"本地时间"是你如何以简单直接的方式驯服约会.

但只是给你一个选择.该日期时间模块.这个模块已经成为我的最爱.

use DateTime;
my $dt = DateTime->now;

my $dow = $dt->day_name;
my $dom = $dt->mday;
my $month = $dt->month_abbr;
my $chr_era = $dt->year_with_christian_era;

print "Today is $dow, $month $dom $chr_era\n";

这将打印"今天是2009年1月28日星期三".只是为了展示它可以做的许多事情中的一些.

use DateTime;
print DateTime->now->ymd;

打印出"2009-01-28"

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有