2016-03-18 63 views

回答

2

使用datatime库的时间字符串由**strptime()**和DateTime对象由**strftime()**转换成DateTime对象,日期时间strign。

格式模式:

  1. %一平日的语言环境的缩写名称。
  2. %d本月的一天为零填充十进制数。
  3. %b月份作为语言环境的缩写名称。
  4. %H小时(24小时制)作为零填充十进制数。
  5. %M分钟为零填充十进制数。
  6. %S第二个作为零填充十进制数。

more details..

演示:

>>> from datetime import datetime 
>>> result_date = datetime.strptime('Wed Mar 16 16:12:05 2016', '%a %b %d %H:%M:%S %Y') 
>>> result_date 
datetime.datetime(2016, 3, 16, 16, 12, 5) 
>>> result_date.strftime("%Y-%m-%d %H:%M:%S") 
'2016-03-16 16:12:05' 

注意

  1. 不要使用保留字作为变量名。例如srt
+0

非常感谢所有善良的人的帮助:) – JiangLing

2

你可以做到这一点使用strptime

import datetime 
myDatetime=datetime.datetime.strptime(My_string, format) 

与格式是如"%Y-%m-%d %H:%M:%S"的年,月,日,时分秒,所以你的情况这将是日,月的“名,一天,等...

+0

是的,我参考手册,它可以工作,非常感谢 – JiangLing

3

箭头是在一个非常straightoforward的方式做这一个伟大的模块: http://crsmithdev.com/arrow/

我perfer箭头,日期时间,因为它是莫再简洁

为您具体的例子:

import arrow 
date_str = 'Wed Mar 16 16:12:05 2016 +0800' 
date = arrow.get(date_str,'ddd MMM D HH:mm:SS YYYY Z') 
print date 
2016-03-16T16:12:00.050000+08:00 
>>> 

而且,这是一个坏主意,名称字符串

str 

由于这被认为是,对于字符串类型!

为什么选择Arrow?我相信它比DATETIME一个更好的API:

>>> date.humanize() 
3: u'2 days ago' 
>>> date.resolution 
4: datetime.timedelta(0, 0, 1) 
>>> date.datetime 
5: datetime.datetime(2016, 3, 16, 16, 12, 0, 50000, tzinfo=tzoffset(None, 28800)) 
>>> date.utctimetuple() 
7: time.struct_time(tm_year=2016, tm_mon=3, tm_mday=16, tm_hour=8, tm_min=12, tm_sec=0, tm_wday=2, tm_yday=76, tm_isdst=0) 
>>> 
+0

此外,谁downvoted这一点,关心解释为什么? –

+0

这是什么原因,为什么我喜欢写评论 ,而不是答案的 – qvpham

+0

哇,我不明白,评论 –

相关问题