Perl 中的 POSIX 函数 strftime()
您可以在 Perl 中使用 POSIX 函数 **strftime()** 来格式化日期和时间,借助下表。请注意,标有星号 (*) 的说明符是与区域设置相关的。
说明符 | 替换为 | 示例 |
---|---|---|
%a | 缩写的工作日名称 * | Thu |
%A | 完整的工作日名称 * | Thursday |
%b | 缩写的月份名称 * | Aug |
%B | 完整的月份名称 * | 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 小时制的时间 * | 02:55:02 pm |
%R | 24 小时制 HH:MM 时间,等效于 %H:%M | 14:55 |
%S | 秒 (00-61) | 02 |
%t | 水平制表符 ('\t') | |
%T | ISO 8601 时间格式 (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 | 日期表示 * | 08/23/01 |
%X | 时间表示 * | 14:55:02 |
%y | 年份,后两位数字 (00-99) | 01 |
%Y | 年份 | 2001 |
%z | ISO 8601 UTC 时区的偏移量 (1 分钟 = 1,1 小时 = 100) 如果时区无法终止,则无字符 | +100 |
%Z | 时区名称或缩写 * 如果时区无法终止,则无字符 | CDT |
%% | 一个 % 符号 | % |
让我们检查以下示例以了解用法 -
示例
#!/usr/local/bin/perl use POSIX qw(strftime); $datestring = strftime "%a %b %e %H:%M:%S %Y", localtime; printf("date and time - $datestring\n"); # or for GMT formatted appropriately for your locale: $datestring = strftime "%a %b %e %H:%M:%S %Y", gmtime; printf("date and time - $datestring\n");
输出
执行以上代码时,会产生以下结果 -
date and time - Sat Feb 16 07:10:23 2013 date and time - Sat Feb 16 14:10:23 2013
广告