首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否在DD/MM/YYYY和YYYY-MM-DD之间转换日期?

是否在DD/MM/YYYY和YYYY-MM-DD之间转换日期?
EN

Stack Overflow用户
提问于 2009-02-02 18:01:49
回答 8查看 169.1K关注 0票数 56

使用Python脚本,我需要读取一个日期格式为DD/MM/YYYY的CVS文件,并在将其保存到SQLite数据库之前将其转换为YYYY-MM-DD。

这几乎是可行的,但失败了,因为我没有提供时间:

代码语言:javascript
复制
from datetime import datetime

lastconnection = datetime.strptime("21/12/2008", "%Y-%m-%d")

#ValueError: time data did not match format:  data=21/12/2008  fmt=%Y-%m-%d
print lastconnection

我假设datetime对象中有一个方法可以非常容易地执行此转换,但我找不到如何执行此转换的示例。谢谢。

EN

回答 8

Stack Overflow用户

发布于 2009-02-02 10:09:22

您的示例代码是错误的。这是可行的:

代码语言:javascript
复制
import datetime

datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d")

对strptime()的调用根据第二个参数中指定的格式解析第一个参数,因此这两个参数需要匹配。然后,您可以调用strftime()将结果格式化为所需的最终格式。

票数 98
EN

Stack Overflow用户

发布于 2009-02-02 10:07:58

您首先需要将字符串转换为datetime元组,然后将该datetime元组转换为string,如下所示:

代码语言:javascript
复制
lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d')
票数 17
EN

Stack Overflow用户

发布于 2017-01-26 20:37:03

我是编程新手。我想把yyyy-mm-dd格式转换成dd/mm/yyyy格式,这样就可以打印出我周围人使用和识别的日期格式。

上面被接受的答案让我走上了正确的道路。

我对我的问题最终得到的答案是:

代码语言:javascript
复制
import datetime

today_date = datetime.date.today()
print(today_date)

new_today_date = today_date.strftime("%d/%m/%Y")
print (new_today_date)

import语句后的前两行以美国格式(2017-01-26)给出了今天的日期。最后两行将其转换为英国和其他国家/地区认可的格式(26/01/2017)。

您可以缩短这段代码,但我将其保留为原样,因为它对我作为初学者很有帮助。我希望这能帮助其他初学编程的人!

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/502726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档