(Python)将日期格式从yyyy-mm-dd更改为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。相反,尝试只通过使用回调函数的regex替换来替换日期部分:

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)

首先,您必须将字符串转换为日期时间对象,然后才能转换日期时间。

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"))

或者,如果不需要datetime对象,则可以使用replace:

str = "2017/09/15 07:11:00"
str = str.replace("/", "-")
print(str)

相关内容

  • 没有找到相关文章

最新更新