Perl 日期和时间
Perl是功能最丰富的编程语言之一。Perl具有可移植性和跨平台性。Perl可以在100多个平台上运行,具有高度集成的文本处理能力。Perl包含了C、sed、awk和sh等不同语言的特点,这使得Perl更加有用和富有成效。
Perl是一种易于使用的语言。它的目的是高效和完整,而不是优雅和简约。Perl支持一些主要的编程范式,包括面向对象的、程序化的和实用的。
在Perl中,日期和时间可以通过使用Perl的一个预定义模块DateTime模块来处理。DateTime是一个用于表示各种日期和时间组合的类。DateTime模块在Perl中表示新式日历,在其创建之前(1582年)向后延伸。
这通常被称为 “前卫的公历”。
在这个日历中,日历的第一天(纪元),是第1年的第一天,它对应于(错误地)被认为是耶稣基督的诞生日。
语法: 使用DateTime;
localtime()
Perl中的 localtime() 函数如果调用时不传递任何参数,则返回系统的当前日期和时间。
#!/usr/local/bin/perl
datetime = localtime();
print "Local Time of the System :datetime\n";
输出。
Local Time of the System : Fri Nov 15 07:21:05 2019
创建一个时间戳
Perl中的时间戳是用来显示当前日期和时间的。由时间戳显示的数据有时精确到几分之一秒。
时间戳可以通过创建一个DateTime对象,然后调用 now 构造函数来创建。
#!/usr/bin/perl
use DateTime;
# Creation of Timestamp
my datetime = DateTime->now;
print "datetime\n";
一个DateTime对象也可以通过提供所有的细节,如 日期、小时、分钟、秒 等,来创建。没有传递值的变量的默认值是 ‘0 ‘。
#!/usr/bin/perl
use DateTime;
# Assigning values to variable
datetime = DateTime->new(
day => 18,
month => 7,
year => 2003,
hour => 12,
);
print"datetime\n";
寻找GMT时间
GMT是格林威治时间的缩写,它是位于伦敦格林威治的皇家天文台的平均太阳时。格林尼治时间全年不变,不受夏令时(夏时制)时钟变化的影响。
Perl提供了一个预定义的函数来计算和表示格林尼治时间,这就是 gmtime()。 这个函数的工作原理与 localtime() 函数类似,但唯一的区别是,时间值只针对格林威治时区进行本地化。
#!/usr/local/bin/perl
# Using function gmtime()
datestring = gmtime();
# Printing GMT time
print "Date and time in GMT:datestring\n";
输出。
Date and time in GMT: Fri Nov 15 11:10:05 2019
格式化日期和时间
localtime() 函数也可以用来根据用户的要求,以各种格式打印日期和时间。这种格式化可以通过使用 printf() 函数轻松完成。
#!/usr/local/bin/perl
# Assigning values to variables
(sec,min, hour) = localtime();
printf("Time Format - HH:MM:SS\n");
# Formatting the time representation
printf("%02d:%02d:%02d",
hour, min,sec);
输出。
Time Format - HH:MM:SS
11:38:06
epoch时间
epoch时间指的是在一个特定的日期和时间之后的秒数。用于计算纪元时间的具体日期和时间因操作系统而异。例如,对于POSIX或UNIX系统,这个日期是1970年1月1日。由于这个时间因系统而异,所以不能假设任何系统的纪元时间。
#!/usr/local/bin/perl
# Calculating epoch time
epoch = time();
print "epoch\n";
输出。
1573818532