1、获取当前时间
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2019, 2, 21, 16, 49, 9, 983020)
>>>
输出结果从总到右分别为Year、Month、Day、Hour、Minute、Second,最后一个MicroSeconds
2、时间格式化
>>> t=datetime.datetime.now()
>>> t.strftime('%Y-%m-%d %H:%M:%S %f') # 毫秒
'2019-02-21 16:56:34 436020'
>>> t.strftime('%Y-%m-%d %H:%M:%S %p') # PM/AM
'2019-02-21 16:56:34 PM'
>>>
%a | 星期的英文单词的缩写:如星期一, 则返回 Mon |
%A | 星期的英文单词的全拼:如星期一,返回 Monday |
%b | 月份的英文单词的缩写:如一月, 则返回 Jan |
%B | 月份的引文单词的缩写:如一月, 则返回 January |
%c | 返回datetime的字符串表示,如03/08/15 23:01:26 |
%d | 返回的是当前时间是当前月的第几天 |
%f | 微秒的表示: 范围: [0,999999] |
%H | 以24小时制表示当前小时 |
%I | 以12小时制表示当前小时 |
%j | 返回 当天是当年的第几天 范围[001,366] |
%m | 返回月份 范围[0,12] |
%M | 返回分钟数 范围 [0,59] |
%P | 返回是上午还是下午–AM or PM |
%S | 返回秒数 范围 [0,61]。。。手册说明的 |
%U | 返回当周是当年的第几周 以周日为第一天 |
%W | 返回当周是当年的第几周 以周一为第一天 |
%w | 当天在当周的天数,范围为[0, 6],6表示星期天 |
%x | 日期的字符串表示 :03/08/15 |
%X | 时间的字符串表示 :23:22:08 |
%y | 两个数字表示的年份 15 |
%Y | 四个数字表示的年份 2015 |
%z | 与utc时间的间隔 (如果是本地时间,返回空字符串) |
%Z | 时区名称(如果是本地时间,返回空字符串) |
3、时间差
- 时间差中seconds和total_seconds
import datetime
t1 = datetime.datetime.strptime("2016-08-24 10:30:00", "%Y-%m-%d %H:%M:%S")
t2 = datetime.datetime.strptime("2016-08-24 12:30:00", "%Y-%m-%d %H:%M:%S")
interval_time = (t2 - t1).seconds # 输入的结果:7200
total_interval_time = (t2 - t1).total_seconds() # 输出结果也是: 7200
interval_minute = round(interval_time /60,1)
4、时间加减
>>> t_now=datetime.datetime.now()
>>> t_now-datetime.timedelta(days=40,minutes=43) #减法
datetime.datetime(2019, 1, 12, 16, 18, 31, 836020)
>>>
>>> t_now+datetime.timedelta(days=4,minutes=43) #加法
datetime.datetime(2019, 2, 25, 17, 44, 31, 836020)
>>>