簡體   English   中英

(Python) 將日期格式從 yyyy-mm-dd 更改為 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)

(pic) 代碼和錯誤類型

您當前的語法無效,因為您將調用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.

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