私のコード:
print DateTime->now;
応答:
2012-08-17T20:16:37
なぜTがあるのですか?忘れてしまったオプションはありますか?
これは、時間T
を区切るための単なる標準(ISO 8601)の方法です。別の形式を使用するには、またはを使用することを検討してください。strftime
format_cldr
たとえば、代わりにスペースを使用するには、を使用しますDateTime->now->format_cldr("YYYY-MM-dd hh:mm:ss")
。
DateTime
コンストラクターでフォーマッターを指定していない限り、オブジェクトの文字列化にはISO8601形式が使用されます。ドキュメントのフォーマッタと文字列化を参照してください。iso8601
方法は次のとおりです。
sub iso8601 { join 'T', $_[0]->ymd('-'), $_[0]->hms(':') }
これは、 DateTimeが生成するデフォルトの出力形式であるISO-8601です。他のものが必要な場合は、strftime
orformat_cldr
メソッドまたはDateTime::Format::*
モジュールの1つを使用して、別の形式を出力する必要があります。例:
print DateTime->now->format_cldr("YYYY-MM-dd hh:mm:ss");
これは日付と時刻の ISO 標準です。http://en.wikipedia.org/wiki/ISO_8601を参照してください。
たとえば、Perl でシステムの時刻と日付をどのように読み取るかを参照してください。フォーマット可能な方法での日付/時刻の読み取りに関する議論については。