5

私のシステムでは、時計の現在のタイム ゾーンを「クアラルンプール、シンガポール (UTC+08:00)」に設定しました。これにより、時計が 8 時間進みます (もちろん)。

Python では、コードを使用して現在の時刻/日付を取得しています。

from datetime import datetime
dateTimeTuple = datetime.now()

個々のパーツ(マイクロ秒を含む)が必要なため、この方法を使用しています。

ただし、常に通常の時刻が返されます (選択したタイム ゾーンに基づいて 8 時間前ではありません)。

別の方法はありますか?

4

1 に答える 1

3

datetime.now()単純なローカル日時を返します。それをクアラルンプール時間に変換するには、まずタイムゾーン対応の日時にしてから、クアラルンプールのタイムゾーンに変換する必要があります。

タイムゾーン変換を行う最も簡単な方法は、pytzを使用することです。

import pytz
import datetime as dt
kuala_lumpur=pytz.timezone('Asia/Kuala_Lumpur')
localtz=pytz.timezone('Europe/London')

これが単純な日時です。

now = dt.datetime.now()

localizedatetime タイムゾーンを認識させるために使用します。

now=localtz.localize(now)
print(now)
# 2011-09-19 11:58:46.342254+01:00

astimezone別のタイムゾーンに変換するために使用します:

now_in_kuala_lumpur=now.astimezone(kuala_lumpur)
print(now_in_kuala_lumpur)
# 2011-09-19 18:58:46.342254+08:00

英国の夏時間とクアラルンプールの DST がないため、時差は現在 7 時間です。

于 2011-09-19T15:53:13.917 に答える