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

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

导入模块

  • POSIX
use POSIX qw(strftime);

获取时间

time

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

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:02
%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
%% % 符号 %
posted @ 2021-06-20 03:55  YEUNGCHIE  阅读(454)  评论(0编辑  收藏  举报