Python strftime 德语日期字符串

标签 python parsing datetime time strftime

我正在尝试更新一些 csv 文件,稍后再更新我的数据库。看来每个月的 strftime 都会混淆一天。我在德国,我们写的是日期 DD/MM/YYYY 而不是 MM/DD/YYYY

如何从 germanString 中创建 datetime 对象,它实际上已经是我需要的格式,但我无法将 str 与 datetime 对象进行比较。 如果我省略 strftime 并使其简单地 parse(germanString) ,它将完全以 YYYY-DD-MM 开头混合日期。

from dateutil.parser import parse

lastTimeUpdated = time.ctime(os.path.getctime('myPath/myFile.csv'))
lastTimeUpdated = parse(lastTimeUpdated).strftime('%d.%m.%Y, %H:%M') 

print(lastTimeUpdated)
# 09.07.2017, 16:00

print(germanTimeString)
# 05.07.2017, 14:00   <---- is a String so far

HereIsTheProblemDate = parse(germanTimeString).strftime('%d.%m.%Y, %H:%M')

print(HereIsTheProblemDate)
# 07.05.2017, 14:00 <---- Mix up Day and Month

if HereIsTheProblemDate > lastTimeUpdate:
    doAnything() #<--- obiously doesnt arrive here

我必须做什么?以便将 Germanstring 转换为日期时间对象而不更改其值?

最佳答案

您不应将 getctime() 返回的时间值转换为字符串,而应直接将其转换为 datatime 对象。这可以使用 datetime.fromtimestamp() 来完成如下:

from datetime import datetime

last_time_updated = datetime.fromtimestamp(os.path.getctime('myfile.csv'))
print(last_time_updated.strftime('%d.%m.%Y, %H:%M'))

然后您可以将其与另一个 datetime 对象正确比较。通过避免使用字符串表示,您不必弄清楚如何解析日期。

关于Python strftime 德语日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45014845/

相关文章:

vb.net - 将字符串转换为日期时间

python - 大量小文件的 C 与 Python I/O 性能对比

python - 在 python 中打印出 c 类型的二进制表示

python - 当我使用 scrapy xpath 时如何使用 count()

PHP EDI X12 解析

PHP DateTime diff 奇怪的结果

python - 如何在 cherrypy 中使用全局变量?

parsing - 在 Shopify Liquid 中将字符串解析为标记

java - 当架构未知时,在 Java 中解析来自本地主机提取服务器的 DBpedia JSON

java - 日期转换未提供 24 小时格式