書き込み機能は、UTCの日時とタイムスタンプに変換されます。

著作権:転載へようこそが、ソースおよび記事の著者を明記してください。https://blog.csdn.net/handsomehuo/article/details/90718229

これは、一般的にLiaoxue風水のpythonチュートリアルモジュール-datetimeから構築演習します

トピックス要件:あなたはUTC + 5のような2015年1月21日9時01分30秒のようなユーザ入力、およびタイムゾーン情報の日付と時刻を取得すると仮定:00は、STR、タイムスタンプに変換する関数を記述してくださいされています

ソリューションI:1970年1月1日00:00:00 UTC + 00:00の時間帯で示さエポック時間、呼び出されたときに0(1970タイムスタンプが負になる前に)、現在時刻がのエポック時間に相対的です秒数は、タイムスタンプと呼ばれます。タイムスタンプ()関数をすることができるの現在のシステムのUTC時刻に基づいて、自動日時にかかわらず、領域の統一フォーマットに現在時刻、。あなたができるよう:

  • 統一されたタイムゾーンUTC + 8に他のタイムゾーンの変換。

ソリューション2:日時の種類はタイムゾーンのプロパティtzinfoのを持っていますが、デフォルトはnoneですので、現在のシステムのUTC時刻です。あなたができるよう:

  • 日時は、タイムゾーンを設定することを余儀なく。
import re
from datetime import datetime, timezone, timedelta


def to_timestamp(dt_str, tz_str):
    cday = datetime.strptime(dt_str,'%Y-%m-%d %H:%M:%S')
    cutc = re.match(r'...([\+\-]\d+)...', tz_str).group(1)
    
    t1 = cday + timedelta(hours=8-int(cutc))
    t2 = cday.replace(tzinfo=timezone(timedelta(hours=int(cutc))))

    return t1.timestamp()
#   return t2.timestamp() 2种方法都可以

# 测试:
t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00')
assert t1 == 1433121030.0, t1

t2 = to_timestamp('2015-5-31 16:10:30', 'UTC-09:00')
assert t2 == 1433121030.0, t2
print('ok')

上記の実践を通して、私たちはに学びます:

図1に示すように、使用のstrptimeの機能

2、正規表現の使用

使い方tzinfoの3、

4、タイムスタンプ機能を意味

 

おすすめ

転載: blog.csdn.net/handsomehuo/article/details/90718229