我有一個具有毫秒值的文件,例如「1366535578」,我需要將其轉換爲日期時間。在python我可以做如下在毫秒中將毫秒轉換爲日期時間
import datetime
print datetime.datetime.fromtimestamp(1366535578)
如何可以把它用Perl來實現,使其顯示格式爲「20130421181258」
任何幫助表示讚賞。
我有一個具有毫秒值的文件,例如「1366535578」,我需要將其轉換爲日期時間。在python我可以做如下在毫秒中將毫秒轉換爲日期時間
import datetime
print datetime.datetime.fromtimestamp(1366535578)
如何可以把它用Perl來實現,使其顯示格式爲「20130421181258」
任何幫助表示讚賞。
毫秒實際上表示時間,而不是時間。
您可以使用此:
use POSIX qw(strftime);
my $formatted = strftime("%Y%m%d%H%M%S", localtime($ts/1000));
字符串strftime
是您毫秒的字符串。
這會給你YYYY-mm-dd hh:mm:ss
的格式,如果你希望你可以刪除hiphens來獲得你的格式或安排它到達你的格式。
注意:刪除格式字符串中的hiphens和冒號。
..或者你可以刪除格式字符串本身的連字符和冒號。 – 2013-04-30 08:52:45
@DarkCthulhu:我有點匆忙,所以沒有那麼做。我將根據OP的格式字符串進行編輯。 – 2013-04-30 08:54:12
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,'');
核心Time::Piece
模塊將爲您做到這一點。它覆蓋內置localtime
功能,使得它具有strftime
方法:
use Time::Piece;
print localtime(1366535578)->strftime('%Y%m%d%H%M%S');
輸出
20130421101258
這不是毫秒。自從時代以來,這是**秒**。 – 2013-04-30 08:55:24
如果以下任何答案對您有幫助,請接受他們或告訴我們什麼不起作用。 – 2013-04-30 09:18:36