day5-time与datatime

time与datatime

一、time

1. time.clock() #返回处理器运算时间,python3.3开始改成time.process_time()

1 >>> import time
2 >>> time.clock()
3 1.1327444320891394e-06

2. time.altzone #返回与utc时间的时间差,以秒计算

1 >>> time.altzone
2 -32400

3. time.time() #返回当前时间的时间戳(1970年1月1日UNIX诞生元年算起)

1 >>> time.time()
2 1497541599.429

4. time.localtime(时间戳) #返回(年,月,日,时,分,秒,一周中的第几天,一年中的第几天,是否为夏令时)的struct time对象格式,如果不填时间戳返回当前时间的struct time对象

1 >>> time.localtime()
2 time.struct_time(tm_year=2017, tm_mon=6, tm_mday=15, tm_hour=23, tm_min=48, tm_sec=22, tm_wday=3, tm_yday=166, tm_isdst=0)
3 >>> time.localtime(time.time())
4 time.struct_time(tm_year=2017, tm_mon=6, tm_mday=15, tm_hour=23, tm_min=48, tm_sec=29, tm_wday=3, tm_yday=166, tm_isdst=0)

5. time.gmtime(时间戳) #返回UTC区(年,月,日,时,分,秒,一周中的第几天,一年中的第几天,是否为夏令时)的struct time对象格式,如果不填时间戳返回UTC时间的struct time对象

1 >>> time.gmtime()
2 time.struct_time(tm_year=2017, tm_mon=6, tm_mday=15, tm_hour=16, tm_min=0, tm_sec=54, tm_wday=3, tm_yday=166, tm_isdst=0)
3 >>> time.gmtime(time.time()+28800)
4 time.struct_time(tm_year=2017, tm_mon=6, tm_mday=16, tm_hour=0, tm_min=1, tm_sec=9, tm_wday=4, tm_yday=167, tm_isdst=0)

6. time.mktime(struct time对象) #把struct time对象转换成时间戳

1 >>> time.mktime(time.localtime())
2 1497543227.0

7. time.asctime(struct time对象) #按照特定格式返回struct time对象代表的时间字符串,如果不填struc time对象返回当前时间

1 >>> time.asctime()
2 'Thu Jun 15 23:54:24 2017'
3 >>> time.asctime(time.localtime())
4 'Thu Jun 15 23:54:31 2017'

8. time.strftime(格式,struct time对象) #指定格式返回struct_time时间对象代表的时间字符串

1 >>> time.strftime("%Y/%m/%d", time.localtime())
2 '2017/06/16'

9. time.strptime(格式化的时间字符串,格式) #把格式化的时间字符串转换为struct time元祖

1 >>> time.strptime('2017/06/16', "%Y/%m/%d")
2 time.struct_time(tm_year=2017, tm_mon=6, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=167, tm_isdst=-1)

时间格式:

格式 含义
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


时间格式转换图:

 

 

 

二、datetime

1. datetime.datetime.now() #返回当前时间

1 >>> import datetime
2 >>> datetime.datetime.now()
3 datetime.datetime(2017, 6, 16, 23, 34, 53, 278935)
4 >>> print(datetime.datetime.now())
5 2017-06-16 23:38:26.977949

2. datetime.date.fromtimestamp(时间戳) #将时间戳转换为日期格式

1 >>> import time
2 >>> print(datetime.date.fromtimestamp(time.time()))
3 2017-06-16

3. datetime.timedelta() #时间单位,默认为天,可利用其进行时间加减

 1 #当前时间加3天
 2 >>> t1 = datetime.datetime.now() + datetime.timedelta(3)
 3 >>> t1
 4 datetime.datetime(2017, 6, 19, 23, 45, 42, 884985)
 5 >>> print(t1)
 6 2017-06-19 23:45:42.884985
 7 #当前时间减3天
 8 >>> t1 = datetime.datetime.now() - datetime.timedelta(days=3)
 9 >>> print(t1)
10 2017-06-13 23:46:19.760396
11 #当前时间加3小时
12 >>> print(datetime.datetime.now() + datetime.timedelta(hours=3))
13 2017-06-17 02:47:35.587628
14 #当前时间加30分钟
15 >>> print(datetime.datetime.now() + datetime.timedelta(minutes=30))
16 2017-06-17 00:17:52.376500 

4. 时间替换

1 >>> print(t1.replace(hour=22,minute=51))
2 2017-06-13 22:51:19.760396
posted @ 2017-06-16 23:53  不知所以  阅读(98)  评论(0)    收藏  举报