2-datetime 模块

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》