欢迎第 位访客

Day 4-2 time & datetime模块

time模块.

 1 import time
 2 time.time()
 3 #输出:    1523195163.140625
 4 time.localtime()    # 获取的是操作系统的时间,可以添加一个时间戳参数
 5 # 输出: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=8, tm_hour=21, tm_min=47, tm_sec=33, tm_wday=6, tm_yday=98, tm_isdst=0)  
 6 
 7 a = time.localtime()  # 可以把这个时间赋给一个变量,通过变量获取其他的属性
 8 print('%s-%s-%s'%(a.tm_year,a.tm_mon,a.tm_mday))
 9 #输出: 2018-4-8
10 time.gmtime()            # 获取格林威治时间,可以添加一个时间戳参数
11 # 输出:time.struct_time(tm_year=2018, tm_mon=4, tm_mday=8, tm_hour=13, tm_min=58, tm_sec=46, tm_wday=6, tm_yday=98, tm_isdst=0)    
12 
13 (time.mktime(a))  # 把上面的a转换成一个时间戳.
14 #输出:1523196109.0    
15 time.sleep(4)           #程序延时4秒
16 (time.asctime())   # 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Oct 1 12:04:38 2017'。
17 #输出:Sun Apr  8 22:04:14 2018
18 time.ctime([secs])   #:把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。
19 
20 time.strftime("%Y-%m-%d %X",time.localtime()) #把一个时间转换成指定的格式.
21 #输出:2018-04-08 22:09:21
22 
23 #时间格式常用的.Ymd,HMS(亚麻跌,好嘛爽) 表示年月日,时分秒.

如何把一个时间格式的字符串转换成时间呢?

s = "2008-10-01 08:30:29"
s1 = time.strptime(s,"%Y-%m-%d %X")
# s1 = time.struct_time(tm_year=2008, tm_mon=10, tm_mday=1, tm_hour=8, tm_min=30, tm_sec=29, tm_wday=2, tm_yday=275, tm_isdst=-1)

time.mktime(s1)    #把一个时间元组转换成时间戳
#输出: 1222821029.0
    

time.gmtime()取到的是格林威治的时间.

 

 

 

 

 

 

 

datetime模块

a = datetime.datetime.now()  #获取当前时间
print(a)
# 2018-04-08 22:33:36.343750
a.timestamp()   # a的时间戳
a.year            # a的年份
a.today()          # a的日期和时间
a.timetuple()   # a的时间元组.
#上面输出分别是:
#1523198368.28125
#2018
#2018-04-08 22:39:28.281250
#time.struct_time(tm_year=2018, tm_mon=4, tm_mday=8, tm_hour=22, tm_min=39, tm_sec=28, tm_wday=6, tm_yday=98, tm_isdst=-1)
            
s = datetime.date.fromtimestamp(time.time())  #把一个时间戳转为datetime日期类型
print(s)    # 2018-04-08

 

时间的运算:

1 t = datetime.timedelta(2)   # 默认填写是天数.可以是hours,minutes,seconds
2 t1 = datetime.datetime.now() -t  # 当前减去2天
3 print(t1)   # 2018-04-06 22:47:12.359375

替换时间:

1 d= datetime.datetime.now()
2 d1 = d.replace(year=2008,month=10,day=1,hour=10,minute=12,second=33,microsecond=8888)
3 print(d1)  # 2008-10-01 10:12:33.008888

 

posted @ 2018-04-08 22:55  大橡皮  阅读(150)  评论(0编辑  收藏  举报