我可以通过这种方式在 python 中创建日期时间对象:
import datetime
new_date= datetime.datetime(2012,09,16)
如何datetime
从这种格式的字符串创建相同的对象:"16SEP2012"
?
>>> datetime.datetime.strptime('16Sep2012', '%d%b%Y')
datetime.datetime(2012, 9, 16, 0, 0)
在这里添加的另一件事-日期时间格式
根据 OP 的要求,@falsetru 的回答都是正确且正确的,尽管我确实觉得有必要提及 DateTime 格式。
因此'%d%b%Y'
,作为参数给出的函数内部的这部分表示 DateTime 格式代码。您可以从此链接访问所有类型。提到所有类型的表格位于网页的底部。
例如,如果我们需要以字符串格式获取特定日期的 DateTime 对象。比方说:
>>> date = 'Sat 02 May 2015 19:54:36 +0000'
格式代码将类似于:
>>> from datetime import datetime
>>> date_now = datetime.strptime(date, '%a %d %b %Y %X %z')
>>> print(date_now)
2015-05-02 19:54:36+05:30
注意:由于字符串值之间有空格,所以我也给了空格。如果有 let's 连字符 (-),则可以改为:
>>> date1 = '22-May-2015 19:54:36'
>>> print(datetime.strptime(date1, '%d-%b-%Y %X'))
2015-05-22 19:54:36
现在,一旦您将字符串转换为日期时间对象,您就可以对它们执行过多的操作。一个很好的例子是,比如找出两个日期之间的差异:
>>> date1 = 'Sat 02 May 2015 19:54:36 +0530'
>>> date2 = 'Fri 01 May 2015 13:54:36 -0000'
>>> first = datetime.strptime(date1, '%a %d %b %Y %X %z')
>>> second = datetime.strptime(date2, '%a %d %b %Y %X %z')
>>> diff = first - second
>>> print(diff.total_seconds())
88200.0
我已经多次使用这个答案,但我通常总是不得不谷歌搜索其他日期时间格式。我希望这对其他人也有帮助。