我的代码:
print DateTime->now;
回复:
2012-08-17T20:16:37
为什么会有T?有没有我忘记的选项?
这T
只是划定时间的标准(ISO 8601)方式。要使用不同的格式,请考虑使用strftime
or format_cldr
。
例如,要使用空格,请使用DateTime->now->format_cldr("YYYY-MM-dd hh:mm:ss")
.
DateTime
除非您在构造函数中指定了格式化程序,否则对对象进行字符串化使用 ISO 8601 格式。请参阅文档中的格式化程序和字符串化。iso8601
方法是:
sub iso8601 { join 'T', $_[0]->ymd('-'), $_[0]->hms(':') }
这是DateTime生成的默认输出格式ISO-8601。如果你想要别的东西,你需要使用strftime
orformat_cldr
方法或其中一个DateTime::Format::*
模块来输出不同的格式,例如:
print DateTime->now->format_cldr("YYYY-MM-dd hh:mm:ss");
这是日期和时间的 iso 标准,请参阅http://en.wikipedia.org/wiki/ISO_8601
参见例如您如何在 Perl 中读取系统时间和日期?讨论以可格式化的方式读取日期/时间。