「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python でタイムゾーンの短縮名を含むタイムスタンプ文字列を解析するにはどうすればよいですか?

Python でタイムゾーンの短縮名を含むタイムスタンプ文字列を解析するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:574

How to Parse Timestamp Strings with Abbreviated Timezone Names in Python?

Python での短縮タイムゾーン名を使用したタイムスタンプ文字列の解析

短縮タイムゾーン名を使用したタイムスタンプ文字列の解析には、Python 特有の課題が生じます。組み込みの dateutil ライブラリは、タイムスタンプの解析を容易にする parser.parse() 関数を提供しますが、本質的にタイムゾーンの略語には対応しません。

この問題に取り組むための、シンプルで効果的な解決策は、次の tzinfos キーワード引数を利用します。パーサー.parse()。この引数は、タイムゾーンの略語を対応する GMT オフセット (秒単位) にマッピングする辞書を受け入れます。

tzinfos 辞書にデータを入力するには、タイムゾーンの略語とオフセットのリストを手動で作成するか、外部ソースから取得します。辞書が確立されたら、次のコードはタイムスタンプ文字列を解析し、対応するタイムゾーンを取得する方法を示しています。

import dateutil.parser as dp

s = 'Sat, 11/01/09 8:00PM'

# Create timezone abbreviation to offset dictionary
tzd = {
    'PST': -8*3600,
    'PDT': -7*3600,
    'MST': -7*3600,
    'MDT': -6*3600,
    'CST': -6*3600,
    'CDT': -5*3600,
    'EST': -5*3600,
    'EDT': -4*3600
}

for tz_code in ('PST','PDT','MST','MDT','CST','CDT','EST','EDT'):
    dt = s ' ' tz_code
    print(dt, '=', dp.parse(dt, tzinfos=tzd))

このコードは、指定されたタイムゾーンの略語を反復処理し、略語ごとにタイムスタンプ文字列を解析し、解析された日時オブジェクトを表示します。

このアプローチでは、タイムゾーンが短縮されたタイムスタンプ文字列を効率的に処理できるため、解析と解釈を容易にするため。

リリースステートメント この記事は次の場所に転載されています: 1729731286 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3