import time
t = time.ctime()
目前,对我来说,t
是'Sat Apr 21 11:58:02 2012'
。我有更多这样的数据。
我的问题是:
t
转换为datetime
?它有什么模块吗?我尝试制作时间dict
,然后转换t
,但感觉这不是在Python中执行此操作的最佳方法。
详细信息:
ctime
列表(例如['Sat Apr 21 11:56:48 2012', 'Sat Apr 21 11:56:48 2012']
)。 datetime
,然后将其存储在db
timestamp
中。答案 0 :(得分:28)
您应该使用strptime
:此函数根据格式解析表示时间的字符串。返回值为struct_time。
format parameter defaults to %a %b %d %H:%M:%S %Y
与ctime()返回的格式匹配。
因此,在您的情况下,只需尝试以下行,因为默认格式是来自ctime的格式:
import datetime
import time
datetime.datetime.strptime(time.ctime(), "%a %b %d %H:%M:%S %Y")
返回:datetime.datetime(2012, 4, 21, 4, 22, 00)
答案 1 :(得分:3)
尝试datetime.strptime()
。
请参阅: http://docs.python.org/library/datetime.html#datetime.datetime.strptime
答案 2 :(得分:2)
只需使用%c
:
datetime.datetime.strptime(time.ctime(), "%c")
答案 3 :(得分:0)
Locale information is not used by ctime().
注意:当使用
time.ctime()
和datetime.fromtimestamp()
时,转换本地时区时也会遇到历史问题。如这些答案here和here的注释中所述
或者,如果您需要可以格式化的“日期和时间”,则可以使用datetime
,time.strftime,甚至使用python pandas
和此处{{ 3}},最后在这里posix_time上提及其他答案。
如果您不担心使用datetime.strptime
的timezones或Julian Calendar,Ambiguous Times或converting to localtime,希望使用EPOCH时间,请务必指定UNIXTIMESTAMP和Notable epoch dates in computing的
“当您指的是Unix时间时,请不要再称其为”纪元时间”。......
现在像所有的一切一样疯狂,它还不是那么糟糕。我以前曾在许多公司工作过,但通常不会像通常那样在工作场所进行。
因此,除了所有这些...这是我个人的最爱:
我将其用于自己的东西:I thank Matt on this thread
from time import strftime
print(strftime('%Y%m%d_%H%M%S'))
我返回的时间:年,月,日,_,时,分,秒
20180827_021106
我在函数中使用的是
def _now():
"""The Module Reports A Formatted Time."""
ymd = (strftime('%Y%m%d_%H%M%S'))
return ymd
简单一些,可以使我的日志井井有条。