[英]extract date, month and year from string in python
我有這個列,其中字符串包含日期、月份、年份和時間信息。 我只需要獲取日期、月份和年份。
字符串中沒有空格。
該字符串采用以下格式:
date
Tuesday,August22022-03:30PMWIB
Monday,July252022-09:33PMWIB
Friday,January82022-09:33PMWIB
我希望得到:
date
2022-08-02
2022-07-25
2022-01-08
如何僅獲取日期、月份和年份並將格式更改為 python 中yyyy-mm-dd
?
提前致謝
您可以使用標准的datetime
庫
from datetime import datetime
dates = [
"Tuesday,August22022-03:30PMWIB",
"Monday,July252022-09:33PMWIB",
"Friday,January82022-09:33PMWIB"
]
for text in dates:
text = text.split(",")[1].split("-")[0]
dt = datetime.strptime(text, '%B%d%Y')
print(dt.strftime("%Y-%m-%d"))
另一種/更短的方法是這樣的(如果你想要其他日期部分):
for text in dates:
dt = datetime.strptime(text[:-3], '%A,%B%d%Y-%I:%M%p')
print(dt.strftime("%Y-%m-%d"))
時區部分很棘手,僅適用於 UTC、GMT 和本地。 您可以在此處閱讀有關格式代碼的更多信息。
strptime() 只接受 %Z 的某些值:
time.tzname 中機器語言環境的任何值
硬編碼值 UTC 和 GMT
使用日期時間庫中的 strptime
var = "Tuesday,August22022-03:30PMWIB"
date = var.split('-')[0]
formatted_date = datetime.strptime(date, "%A,%B%d%Y")
print(formatted_date.date()) #this will get your output
Output:
2022-08-02
您可以轉換為日期時間 object 然后取回字符串。
from datetime import datetime
datetime_object = datetime.strptime('Tuesday,August22022-03:30PM', '%A,%B%d%Y-%I:%M%p')
s = datetime_object.strftime("%Y-%m-%d")
print(s)
您可以使用datetime庫來解析日期並以您的格式打印。 在您的示例中,這day
可能不是零填充的,所以我添加了它,然后解析了日期。
import datetime
date = 'Tuesday,August22022-03:30PMWIB'
date = date.split('-')[0]
if not date[-6].isnumeric():
date = date[:-5] + "0" + date[-5:]
newdate = datetime.datetime.strptime(date, '%A,%B%d%Y').strftime('%Y-%m-%d')
print(newdate)
# prints 2022-08-02
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.