亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將“亞洲/加爾各答”時區日期時間轉換為自紀元以來的毫秒數時出錯

將“亞洲/加爾各答”時區日期時間轉換為自紀元以來的毫秒數時出錯

ibeautiful 2023-06-06 15:31:31
亞洲/加爾各答時區的時間為8/8/20, 8:00(%m/%d/%y, %H:%M格式)。我首先將日期時間轉換為 UTC 時區,然后更改為毫秒。我將結果與在線(https://www.epochconverter.com/)進行了比較,值存在一些差異。亞洲/加爾各答時區日期時間(輸入):8/8/20、8:00UTC 時區日期時間:8/8/20、2:30自紀元以來的毫秒計算值:1596873600000自紀元以來的毫秒實際值:1596853800000Python 腳本:my_time = datetime.strptime(timerangestart, '%m/%d/%y, %H:%M')timestart = my_time.replace(tzinfo=timezone.utc).timestamp()timestart = timestart * 1000我做錯了什么?我可以得到一些幫助嗎?
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

如果替換tzinfo為timezone.utc,Python 將假定8/8/20, 8:00 為UTC。你想要的是astimezone()。如果你不傳遞時區,它會自動使用你機器的本地時間[docs]。


from datetime import datetime, timezone

timerangestart = '8/8/20, 8:00'


# parse the string and localize to your time zone (OS setting):

my_time = datetime.strptime(timerangestart, '%m/%d/%y, %H:%M').astimezone() 

ts_ms = my_time.timestamp() * 1000 # no need to convert to UTC; UNIX time (should) always refer to UTC

請注意,默認情況下,Python 會假定沒有時區 (tzinfo=None) 的日期時間對象屬于當地時間 - 因此您甚至可以省略 .astimezone()!但是,我更愿意設置時區,以便更清楚地了解正在發生的事情。


如果你想檢查另一個時區,你可以使用dateutil和例如寫


from dateutil.tz import gettz


my_time = datetime.strptime(timerangestart, '%m/%d/%y, %H:%M').replace(tzinfo=gettz('US/Eastern'))

ts_ms = my_time.timestamp() * 1000


查看完整回答
反對 回復 2023-06-06
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

我就是這樣解決的


timerangestart = '8/8/20, 8:00'

my_time = datetime.strptime(timerangestart, '%m/%d/%y, %H:%M')

timerangestart = pytz.timezone("Asia/Kolkata").localize(my_time).astimezone(pytz.timezone("UTC")) 

timestart = int(timerangestart.timestamp() * 1000)


查看完整回答
反對 回復 2023-06-06
  • 2 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號