转换日期格式:格林威治标准时间2053年8月9日00:00:00

问题描述 投票:1回答:4

我正在尝试将字符串日期Fri, 9 Aug 2053 00:00:00 GMT转换为日/月/年:9/8/2053

如何在不使用字符串替换的情况下从字符串中排除FriGMT部分?这可以使用datetime api完成吗?

这是我的尝试,但我不确定如何实现上述目标:

a = 'Fri, 9 Aug 2053 00:00:00 GMT'
b = '9/8/2053'

from datetime import datetime

dt = datetime.strptime(a, '%d %m %Y')  
print(dt.strftime('%d/%m/%Y'))   
python datetime
4个回答
1
投票

你需要这样的东西,

from datetime import datetime

a = 'Fri, 9 Aug 2053 00:00:00 GMT'
dt = datetime.strptime(a, '%a, %d %b %Y %H:%M:%S %Z')

print(dt.strftime('%d/%m/%Y')) 

输出:

09/08/2053

4
投票

与上述所有解决方案一样,区别在于您可以使用#符号来删除日或月中的任何零填充:

from datetime import datetime

dt = datetime.strptime(a, "%a, %d %b %Y %H:%M:%S %Z")
print(dt.strftime("%#d/%#m/%Y"))

输出:

9/8/2053

这适用于Windows。对于Unix系统,请使用-标志进行咨询。


2
投票

试试这个:

>>> dt = datetime.strptime(a, '%a, %d %b %Y %H:%M:%S %Z')  
>>> print(dt.strftime('%d/%m/%Y'))
'09/08/2053'

你可以找到不同的strftime指令here的参考。


1
投票

您可能希望将%Z用于GMT,如下所示:

from datetime import datetime

a = 'Fri, 9 Aug 2053 00:00:00 GMT'
dt = datetime.strptime(a, '%a, %d %b %Y %H:%M:%S %Z')  
print(dt.strftime('%d/%m/%Y'))        
© www.soinside.com 2019 - 2024. All rights reserved.