![](/img/trans.png)
[英]Change date format for an index in python from yyyy-dd-mm to yyyy-mm-dd
[英](Python) changing date format from from yyyy-mm-dd to yyyy/mm/dd
我正在嘗試從字符串中提取日期並將日期格式從 yyyy-mm-dd 更改為 yyyy/mm/dd。 不知怎的,我弄錯了。
我通讀了下面的鏈接以幫助我到達那里,但需要快速幫助。
import re
import datetime
str = "2017/09/15 07:11:00"
x = re.match( r'([^\s]+)',str)
new_x = datetime.datetime.strptime("re.match( r'([^\s]+)',str)", "%Y/%m/%d").strftime("%Y-%m-%d")
print(x)
print(new_x)
您當前的語法無效,因為您將調用re.match
作為文字字符串傳遞。 相反,嘗試僅通過帶有回調 function 的正則表達式替換對日期部分進行替換:
import re
import datetime
str = "2017/09/15 07:11:00"
output = re.sub(r'^(\S+)', lambda m: datetime.datetime.strptime(m.group(1), "%Y/%m/%d").strftime("%Y-%m-%d"), str)
print(output) # 2017-09-15 07:11:00
我使用這樣的簡單字符串切片對其進行了轉換:
import datetime
string = "2017/09/15 07:11:00"
string = string[0:10]
new_x = datetime.datetime.strptime(string, "%Y/%m/%d").strftime("%Y-%m-%d")
print(new_x)
首先,您必須將字符串轉換為日期時間 object,然后才能轉換日期時間。
import datetime
str = "2017/09/15 07:11:00"
converted_time = datetime.datetime.strptime(str, "%Y/%m/%d %H:%M:%S")
print(converted_time.strftime("%Y-%m-%d %H:%M:%S"))
或者如果不需要日期時間 object ,則可以使用替換:
str = "2017/09/15 07:11:00"
str = str.replace("/", "-")
print(str)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.