我正在使用pickadate.js它以这种格式返回日期:
8 March, 2017
Run Code Online (Sandbox Code Playgroud)
我想将其转换为以下datetime格式:
yyyy-mm-dd
Run Code Online (Sandbox Code Playgroud)
在Python中执行此操作的最佳方法是什么?
the*_*Sin 25
在Python中,使用datetime格式字符串是一个简单的练习:
from datetime import datetime
s = "8 March, 2017"
d = datetime.strptime(s, '%d %B, %Y')
print(d.strftime('%Y-%m-%d'))
Run Code Online (Sandbox Code Playgroud)
有关所有格式限定符的完整说明,请参阅此表.
在这里,我使用该datetime.strptime方法将datepicker.js字符串转换为Python日期时间对象.我使用该.strftime方法使用您想要的格式将该对象打印为字符串.起初,这些格式字符串将难以记住,但您可以随时查找它们.最后,他们组织得很好.
但我确实想知道:在最后一步中使用JavaScript而不是切换到Python可能会更好吗?当然,如果您在流程的其他地方使用Python,这是一个简单的解决方案.
在你的情况下,马克里德的建议可能是最好的.一个经常被忽视的日期选择是箭头模块,它提供了一些有趣的功能.在这种情况下,你可以这样做:
>>> import arrow
>>> arrow.get('8 March, 2017', 'D MMMM, YYYY').format('YYYY-MM-DD')
'2017-03-08'
Run Code Online (Sandbox Code Playgroud)
作为一个功能的示例,如果您捕获该日期,您可以用俄语格式化它.
>>> aDate = arrow.get('8 March, 2017', 'D MMMM, YYYY')
>>> aDate.format('YYYY MMMM DD', locale='ru')
'2017 ????? 08'
Run Code Online (Sandbox Code Playgroud)