簡體   English   中英

如何修改日期字符串的格式? (Python/Excel)

[英]How do I modify the format of a date string? (Python/Excel)

Python 中將字符串轉換為給定格式的最佳方法是什么? 我的問題是我抓取了以下格式的日期: 2019 年 12 月 13 日上午 6:01

理想情況下我想在excel中分析抓取的數據,但不幸的是Excel無法讀取這種日期格式。

你認為最好用 Python 還是 Excel 來做?

謝謝

您可以使用標准庫或dateparser包在 Python 中明確地做到這一點。

>>> import dateparser
>>> dateparser.parse('Dec 13, 2019 6:01 am')
datetime.datetime(2019, 12, 13, 6, 1)

或直接轉為 ISO 格式:

>>> dateparser.parse('Dec 13, 2019 6:01 am').isoformat()
'2019-12-13T06:01:00'

以編程方式處理時間時要注意的另一件事是時區 - 這是很可能出現錯誤的地方。 有一個非常棒的包用於在 python 中處理日期時間數據,稱為pendulum ,我不能強調它是多么方便。 並且它的 API 與 python 的標准庫 datetime 完全兼容。 因此,您可以import pendulum as dt而不是import datetime as dt時間import datetime as dt ,它會起作用。

它還有一個很棒的解析器工具,支持時區

>>> import pendulum

>>> dt = pendulum.parse('1975-05-21T22:00:00')
>>> print(dt)
'1975-05-21T22:00:00+00:00

# You can pass a tz keyword to specify the timezone
>>> dt = pendulum.parse('1975-05-21T22:00:00', tz='Europe/Paris')
>>> print(dt)
'1975-05-21T22:00:00+01:00'

# Not ISO 8601 compliant but common
>>> dt = pendulum.parse('1975-05-21 22:00:00')

通過傳遞tz關鍵字參數,您可以同時解析和指定時區。

您可以使用strptime()將字符串轉換為日期時間格式。

>>> utc_time = datetime.strptime("Dec 13, 2019 6:01 am", "%b %d, %Y %I:%M %p")
>>> utc_time.strftime("%d-%m-%Y %R")
'13-12-2019 06:01'

您可以使用pythons內置的datetime庫。

檢查這個: https : //docs.python.org/3.6/library/datetime.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM