将包含日期和时间的字符串转换为日期

Ale*_*lex 22 python datetime

我有这个日期时间字符串:

post["date"] = "2007-07-18 10:03:19"
Run Code Online (Sandbox Code Playgroud)

我想提取"2007-07-18"作为约会.我看过一些参考,strptime但我不确定如何使用它.如何从此字符串中提取日期?

bab*_*unk 58

另外两个答案很好,但如果你真的想要其他东西的日期,你可以使用该datetime模块:

from datetime import datetime
d = datetime.strptime('2007-07-18 10:03:19', '%Y-%m-%d %H:%M:%S')
day_string = d.strftime('%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)

它现在可能有点矫枉过正,但它会变得有用.您可以在此处查看所有格式说明符.


gim*_*mel 8

在您的情况下,只需使用拆分:

>>> d1="2007-07-18 10:03:19"
>>> d1.split()[0]
'2007-07-18'
>>> 
Run Code Online (Sandbox Code Playgroud)

(用空格分割后的第1部分)

如果您坚持使用strptime,格式为"%Y-%m-%d %H:%M:%S":

>>> import time
>>> time.strptime(d1,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2007, tm_mon=7, tm_mday=18, tm_hour=10, tm_min=3, tm_sec=19, tm_wday=2, tm_yday=199, tm_isdst=-1)
>>> time.strftime("%Y-%m-%d", _)
'2007-07-18'
>>> 
Run Code Online (Sandbox Code Playgroud)

  • 为了避免空数据的IndexError,你可以使用`d1.partition('')[0]` (2认同)