文字列の日付を使用して、 "%Y%m%d_%H%M"として正しく出力するようにしています。日を除いてすべてが正確に出力されています。それは実際に翌日に戻ってきて、私はそれがなぜなのか全く分かりません。以下はコードと出力です。PerlでDateTimeフィールドをフォーマットする
my $currentTime = strftime("%Y%m%d_%H%M\n", gmtime(time));
my $hashTime = strftime("%Y%m%d_%H%M\n", gmtime(UnixDate($user->{'add_date'}, "%s")));
$self->Print($user->{'add_date'} ."\n". $currentTime . "\n" . $hashTime);
出力:
2016-12-02 20:35:43 # Date from the Database
20161202_2046 # Current GMTime
20161203_0235 # This should be 20161202_2035?
それが03として出力していますどのように来ますか?
「UnixDate()」は何をしているようですか? – zdim
これはDate :: Manipパッケージのものです。文字列をUNIXのタイムスタンプに変換するはずです。 – jamadri
また、これを行うためのより良い方法があり、Date :: manipパッケージを使用することができれば、私はそれだけです。 – jamadri