[ Perl ] 格式化输出时间信息

Posted YEUNGCHIE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ Perl ] 格式化输出时间信息相关的知识,希望对你有一定的参考价值。

https://www.cnblogs.com/yeungchie/

导入模块

  • POSIX
use POSIX qw(strftime);

获取时间

time

  • 返回新纪元时间 : 从 1970-01-01 00:00:00 到现在经过的秒数
say time;
# 1970-01-01 08:00:00

localtime

  • 返回 本地时区 时间信息的一个数组
  • 可接收一个秒数偏移量 , 从 1970-01-01 00:00:00 开始累加 , 默认值为 time()
say Dumper [localtime];
# $VAR1 = [
#           45,     ## 秒 , 0-59
#           10,     ## 分 , 0-59
#           1,      ## 时 , 0-24
#           20,     ## 天 , 1-31
#           5,      ## 月 , 0-11
#           \'121\',  ## 年 , 从 1900 开始
#           0,      ## 周 , 0-6 周日开始
#           170,    ## 年内第几天 , 0-36(4/5)
#           0       ## 是否夏令时 , 0/1
#         ];
  • 输入 0
say localtime(0);
# 0081070400

格式化输出

  • strftime
say strftime \'%Y-%m-%d %H:%M:%S\',localtime;
# 2021-06-20 03:41:47
符号 描述 实例
%a 星期几的简称( Sun..Sat) Thu
%A 星期几的全称( Sunday..Saturday) Thursday
%b 月的简称(Jan..Dec) Aug
%B 月的全称(January..December) August
%c 日期和时间 Thu Aug 23 14:55:02 2001
%C 年份除于100,并取整 (00-99) 20
%d 一个月的第几天 (01-31) 23
%D 日期, MM/DD/YY 相等于%m/%d/%y 08/23/01
%e 一个月的第几天,使用空格填充个位数 ( 1-31) 23
%F YYYY-MM-DD 的简写类似于 %Y-%m-%d 2001-08-23
%g 年份的最后两位数 (00-99) 01
%g 2001
%h 月的简称 (和%b选项相同) Aug
%H 24 小时制 (00-23) 14
%I 12 小时制 (01-12) 02
%j 一年的第几天 (001-366) 235
%m 月 (01-12) 08
%M 分钟 (00-59) 55
%n 新行 ("\\n")
%p 显示出AM或PM PM
%r 时间,12小时 (hh:mm:ss AM / PM) 02:55:02 pm
%R 24 小时 HH:MM 时间格式,相等于 %H:%M 14:55
%S 秒数 (00-61) 02
%t 水平制表符 ("\\t")
%T 时间 (24小时制) (hh:mm:ss),相等于 %H:%M:%S 14:55
%u ISO 8601 的星期几格式,星期一为1 (1-7) 4
%U 一年中的第几周,星期天为第一天 (00-53) 33
%V ISO 8601 第几周 (00-53) 34
%w 一个星期的第几天 (0代表星期天) (0-6) 4
%W 一年的第几个星期,星期一为第一天 (00-53) 34
%x 显示日期的格式 (mm/dd/yy) 08/23/01
%X 显示时间格式 14:55:02
%y 年,两位数 (00-99) 01
%Y 2001
%z ISO 8601与UTC的时区偏移(1 minute=1, 1 hour=100) +100
%Z 当前时区的名称,如"中国标准时间" CDT
%% % 符号 %

以上是关于[ Perl ] 格式化输出时间信息的主要内容,如果未能解决你的问题,请参考以下文章

Perl脚本记录外部可执行文件输出和错误,但仍然运行

带有动态值的write_rich_string(Perl)

Perl - 格式化输出和读取格式化数据

我们如何使用 perl 将数据格式化为表格格式

perl的输出:printsay和printf

如果我的代码中没有诊断信息,为啥 Perl 会编译 diagnostics.pm?