datetime
时间转字符串
在我们的使用中,我们常常需要将时间转换为字符串,用来作为文件的名字或者用于加密字符的输出等等。例子:
from datetime import datetime
datetime.strftime(datetime.now(),”%Y-%m-%d %H:%M:%S”)
记忆方式也很简单,str from time
字符转时间
有时候我们需要将一个字符给转换为时间对象
from datetime import datetime
>>> datetime.strptime(‘2018-09-09’,”%Y-%m-%d”)
datetime.datetime(2018, 9, 9, 0, 0)
时间戳的转换
import time
from datetime import datetime
stamp = time.time()
datetime.fromtimestamp(stamp)
timedelta
import datetime
print(‘microseconds:’, datetime.timedelta(microseconds=1))
print(‘milliseconds:’, datetime.timedelta(milliseconds=1))
print(‘seconds :’, datetime.timedelta(seconds=1))
print(‘minutes :’, datetime.timedelta(minutes=1))
print(‘hours :’, datetime.timedelta(hours=1))
print(‘days :’, datetime.timedelta(days=1))
print(‘weeks :’, datetime.timedelta(weeks=1))
加 就是 延后几秒; 减 就是提前几秒
转换格式
Symbol
Meaning
Example
%a
Abbreviated weekday name
‘Wed’
%A
Full weekday name
‘Wednesday’
%w
Weekday number: 0 (Sunday) through 6 (Saturday)
‘3’
%d
Day of the month (zero padded)
’13’
%b
Abbreviated month name
‘Jan’
%B
Full month name
‘January’
%m
Month of the year
’01’
%y
Year without century
’18’
%Y
Year with century
‘2018’
%H
Hour from 24-hour clock
’17’
%I
Hour from 12-hour clock
’05’
%p
AM/PM
‘PM’
%M
Minutes
’00’
%S
Seconds
’00’
%f
Microseconds
‘000000’
%z
UTC offset for time zone–aware objects
‘-0500’
%Z
Time zone name
‘EST’
%j
Day of the year
‘013’
%W
Week of the year
’02’
%c
Date and time representation for the current locale
‘Wed Jan 13 17:00:00 2016′
%x
Date representation for the current locale
’01/13/16′
%X
Time representation for the current locale
’17:00:00’
%%
A literal % character
‘%’
tips
工作中经常需要用到美国时间,做一个记录。utc 晚了 8 个小时,所以要减去即是美国时间
datetime.strftime(datetime.utcnow()-timedelta(hours=8),’%Y-%m-%d %H:%M:%S’)
参考
《The Python3 Standard Library By Example》