[解決済み】pythonのdatetimeをstrftimeでepochに変換する。
2022-04-04 20:09:29
質問
UTCで時刻を指定し、そこからエポックからの秒数を知りたいのです。
strftimeを使って、秒数に変換しています。2012年4月1日を例にとって説明します。
>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
エポックから2012年4月1日UTCは1333238400ですが、上記では1333234800と1時間ずれています。
つまり、strftimeは私のシステム時間を考慮し、どこかでタイムゾーンシフトを適用しているようです。datetimeは純粋に素朴なものだと思っていたのですが?
どうすれば回避できるのでしょうか?できれば、標準的なものでない限り、他のライブラリのインポートを避けたい。(移植性の懸念があります)。
解決方法は?
Pythonのdatetimeをepochからの秒数に変換したい場合、明示的にそれを行うことができます。
>>> (datetime.datetime(2012,04,01,0,0) - datetime.datetime(1970,1,1)).total_seconds()
1333238400.0
Python 3.3以降では
timestamp()
の代わりに
>>> datetime.datetime(2012,4,1,0,0).timestamp()
1333234800.0
を使用してはいけない理由
datetime.strftime('%s')
Pythonは実はstrftimeの引数として%sをサポートしていません(下記で調べればわかります)。 http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior Pythonがあなたのシステムのstrftimeに情報を渡しているからで、そのstrftimeはあなたのローカルタイムゾーンを使用します。
>>> datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
関連
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】文字列をdatetimeに変換する
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonを使ったオフィス自動化コード例
-
Python関数の高度な応用を解説
-
Python jiabaライブラリの使用方法について説明
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python入門 openを使ったファイルの読み書きの方法
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] Pythonでタイムゾーンを意識したdatetimeオブジェクトを作るには?