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

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

如何將此日期格式解析為日期時間?

如何將此日期格式解析為日期時間?

互換的青春 2023-06-27 16:35:57
我當前擁有的開始日期格式是2019-09-04 16:00 UTC+3,我正在嘗試將其轉換為日期時間格式2019-09-04 16:00:00+0300。我認為可行的格式是format='%Y-%m-%d %H:%M %Z%z',但是當我運行它時,我收到錯誤消息ValueError: Cannot parse both %Z and %z。有誰知道要使用的正確格式,還是我應該嘗試完全不同的方法?謝謝。編輯 抱歉,我很難用語言表達我想要做什么,希望我能澄清。我希望將數據框中的所有日期和時間更改為日期時間格式。這是我嘗試使用的方法,但出現了錯誤 df['datepicker'] = pd.to_datetime(df['datepicker'], format='%Y-%m-%d %H:%M %Z%z')這是我目前擁有的數據樣本。datepicker2019-09-07 16:00 UTC+22019-09-04 18:30 UTC+42019-09-06 17:00 UTC±02019-09-10 16:00 UTC+12019-09-04 18:00 UTC+3這就是我想要將它們轉換成的時間戳格式。datepicker2019-09-07 16:00:00+02002019-09-04 18:30:00+04002019-09-06 17:00:00+00002019-09-10 16:00:00+01002019-09-04 18:00:00+0300
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

pandas.to_datetime如果你稍微調整一下字符串,應該會很高興地解析這個:


import pandas as pd

df = pd.DataFrame({"datepicker":[ "2019-09-07 16:00 UTC+2", "2019-09-04 18:30 UTC+4",

                                  "2019-09-06 17:00 UTC±0", "2019-09-10 16:00 UTC+1", 

                                  "2019-09-04 18:00 UTC+3"]})

df['datetime'] = pd.to_datetime(df['datepicker'].str.replace('±', '+'))

# df['datetime']

# 0    2019-09-07 16:00:00-02:00

# 1    2019-09-04 18:30:00-04:00

# 2    2019-09-06 17:00:00+00:00

# 3    2019-09-10 16:00:00-01:00

# 4    2019-09-04 18:00:00-03:00

# Name: datetime, dtype: object

請注意,由于混合 UTC 偏移量,該列的數據類型為“對象”(日期時間對象)。如果您愿意,還可以立即轉換為 UTC,以獲得 dtype datetime[ns] 的列:


df['UTC'] = pd.to_datetime(df['datepicker'].str.replace('±', '+'), utc=True)

# df['UTC']

# 0   2019-09-07 18:00:00+00:00

# 1   2019-09-04 22:30:00+00:00

# 2   2019-09-06 17:00:00+00:00

# 3   2019-09-10 17:00:00+00:00

# 4   2019-09-04 21:00:00+00:00

# Name: UTC, dtype: datetime64[ns, UTC]


查看完整回答
反對 回復 2023-06-27
?
德瑪西亞99

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

當我定義如下時。它按您的預期工作。


from datetime import datetime, timedelta, timezone


UTC = timezone(timedelta(hours=+3))

dt = datetime(2019, 1, 1, 12, 0, 0, tzinfo=UTC)

timestampStr = dt.strftime("%Y-%m-%d %H:%M %Z%z")

print(timestampStr)

輸出為:


2019-01-01 12:00 UTC+03:00+0300


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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