Perl 日期和时间

2024 年 8 月 29 日 | 阅读 3 分钟

在 Perl 中处理日期和时间最合适的方法是使用 DateTime 模块。

在每次进行日期和时间操作之前,我们需要通过脚本将 DateTime 加载到内存中。


Perl localtime()

如果不带任何参数使用 localtime() 函数,则会返回系统当前日期和时间。

输出

Current date and time according to the system : Fri Jan 6 11:52:04 2017

Perl 创建时间戳

可以通过调用 now 构造函数来创建一个显示当前日期和时间的 DateTime 对象。

示例

输出

2017-01-06T06:29:38

我们也可以通过分部分提供所有详细信息(如日期、分钟、秒等)来创建 DateTime 对象。 Perl 将假设未传递任何详细信息的数据为“0”。

示例

输出

2003-07-18T12:00:00

在上面的输出中,我们没有传递分钟和秒部分的任何详细信息。 因此 Perl 假定为零。


Perl GMT 时间,gmtime()

此函数的工作方式与 localtime() 函数类似,唯一的区别是 gmtime() 返回的值是针对标准格林威治时区的本地化值。

输出

Fri Jan 6 08:43:31 2017
Fri Jan 6 14:13:31 2017

Perl Epoch 时间

Epoch 时间是指特定日期和时间之后的秒数。 这种特定的日期和时间因不同的操作系统而异。 例如,对于 Unix,它是 1970 年 1 月 1 日。 由于所有操作系统都有不同的纪元时间,因此您无法从一个系统假定另一个系统的纪元时间。

输出

1483686914

Perl POSIX 函数 strftime()

Perl POSIX strftime() 函数用于使用以 (%) 符号开头的说明符格式化日期和时间。 有两种类型的说明符,一种用于本地时间,另一种用于 gmt 时区。

本地说明符

说明符用途示例
%a表示星期几的简称太阳
%A表示星期几的全称星期日
%b表示月份的简称七月
%B表示月份的全称七月
%c表示日期和时间2017 年 1 月 6 日星期五 12:34:07
%h表示月份的简称,与 %b 相同七月
%r12 小时制时钟时间下午 6:15:30
%x表示日期12/28/12
%X表示时间15:34:06
%Z表示时区

GMT 说明符

说明符用途示例
%C年份除以 100 并以整数形式书写 (00-99)34
%d月份的日期,零填充 (01-31)33
%D表示 MM/DD/YY07/18/17
%e月份的日期,空格填充 (1-31)33
%F表示 YYYY-MM-DD2017/07/18
%g基于周的年份,最后两位数字 (00-99)05
%g基于周的年份2015
%H24 小时制的小时17
%I12 小时制的小时05
%J一年中的天数 (001-366)365
%m月份的十进制数 (01-12)07
%M分钟 (00-59)35
%n换行符
%pAM 或 PMAM
%R24 小时制 HH:MM 时间17:55
%S秒 (00-59)45
% t水平制表符字符
%TISO 8601 时间格式 (HH:MM:SS)21:45
%uISO 8601 星期几,从星期一 (1-7) 开始编号
%U周数,以第一个星期日作为第一周的第一天 (00-53)
%VISO 8601 周数 (00-53)
%w星期几,以十进制数表示,从星期日 (0-6) 开始
% W周数,以第一个星期一作为第一周的第一天 (00-53)17
%y年份的最后两位数字 (00-99)2017
% Y完整年份
%zISO 8601 与 UTC 的时区偏移量(1 分钟 = 1,1 小时 = 100)+100
%%一个 % 符号%

Perl 显示日期和时间

有时我们需要以不同的格式显示日期或时间。 为此,我们可以按如下所示更改 Perl 中的格式。

示例

输出

2003-07-18T12:00:00
2003-07-18
18-07-2003
12:00:00
1058529600
2003
7
18
2003-07-18-12-00-00
下一主题Perl Socket 编程