3

Perlに現在の日付と時刻を次の形式で表示させたい:

2010-02-11 13:12:34.87876

私はこのコードを書きました:

use Time::localtime;
my $tm = localtime;
printf("It is now %04d-%02d-%02d %02d:%02d:%02d\n", $tm->year+1900,
    ($tm->mon)+1, $tm->mday, $tm->hour, $tm->min, $tm->sec);

そして得た:

2011-11-17 17:22:59

出力に残りの.87876を取得する方法がわかりません。誰か助けてくれませんか?

4

3 に答える 3

11
use DateTime::HiRes qw();
DateTime::HiRes->now(time_zone => 'local')->strftime('%F %T.%5N')
# returns '2011-11-17 17:42:42.21719'
于 2011-11-17T17:42:57.067 に答える
8

DateTimeおよびを使用するTime::HiRes

use DateTime;
use Time::HiRes;

my $dt = DateTime->from_epoch(
    epoch     => Time::HiRes::time,
    time_zone => 'local',
);
print $dt->strftime("%Y-%m-%d %H:%M:%S.%5N"); # 2011-11-17 21:03:46.74562

これはまさに、1秒未満の解像度でオブジェクトをDateTime::HiRes作成する方法です。DateTime

于 2011-11-17T17:52:43.937 に答える
1

あなたが探しているかもしれません%5NDateTime::Formatを参照してください

于 2011-11-17T17:46:12.740 に答える