2

「1366535578」などのミリ秒の値を持つファイルがあり、これを日時に変換する必要があります。Pythonでは、以下のようにできます

import datetime
print datetime.datetime.fromtimestamp(1366535578)

「20130421181258」の形式で表示されるように、perlでどのように達成できますか

どんな助けでも感謝します。

4

3 に答える 3

2

コアTime::Pieceモジュールがこれを行います。メソッドlocaltimeを持つように組み込み関数をオーバーライドします。strftime

use Time::Piece;

print localtime(1366535578)->strftime('%Y%m%d%H%M%S');

出力

20130421101258
于 2013-04-30T10:52:04.010 に答える
2

ミリ秒は実際には時間ではなく期間を表します。

これを使用できます:

use POSIX qw( strftime );
my $formatted = strftime("%Y%m%d%H%M%S", localtime($ts/1000));

文字列strftimeはミリ秒文字列です。

これにより、YYYY-mm-dd hh:mm:ssフォーマットが得られます。必要に応じて、ハイフンを削除してフォーマットを取得したり、フォーマットを調整したりできます。

注:フォーマット文字列からハイフンとコロンを削除しました。

于 2013-04-30T08:49:18.463 に答える
1
my @date = localtime(time);
$date[5] += 1900;
$date[4] += 1;
$date[2] = '0'.$date[2] if ($date[2] < 10);
$date[1] = '0'.$date[1] if ($date[1] < 10);
$date[4] = '0'.$date[4] if ($date[4] < 10);
$date[3] = '0'.$date[3] if ($date[3] < 10);
print join(@date,'');

http://perldoc.perl.org/functions/localtime.html

于 2013-04-30T08:47:34.550 に答える