时间处理

time和datetime

引题:引入time时间包: import time
引入datetime包:from datetime import datetime,timedelta (从datetime包引入datetime, timedelta,timedelta是时间加减类)
1.datetime.now()返回当前时间 datetime.datetime(2018, 10, 24, 15, 16, 19, 812042)对象。方便进行日期加减等处理。其中datetime(2018, 10, 24, 15, 16, 19, 812042)为类的初始化。

print(datetime.now())

输出:2018-10-24 15:11:35.642929
小数点后六位是微秒数

2.创建datetime对象

dt = datetime(2018, 10, 24, 15, 21, 00)     	# 年,月,日,时,分,秒

print(dt.year)
print(dt.month)
print(dt.day)
...

3.日期加减
场景:适用于判断活动截止日期;或者是定时任务。

print(datetime.now() + timedelta(days=1,hours=10))    
 # 2018-10-26 02:12:51.642983
 
print(datetime.now() + timedelta(days=-1,hours=-10))  
# 2018-10-23 06:14:41.698277

4.格式化输出 strftime 和 format

格式类型:
‘2018-10-24 15:11:38.831910’
‘2018-10-24 15:11:38’
‘15:11:38’
‘2018.10.24 15:11:38’
‘2018/10/24 15/11/38’

print(datetime.now().strftime('%Y %m %d %H:%M:%S'))  
# 格式为:2018 10 24 15:33:54

print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))  
# 格式为:2018-10-24 15:34:41

5.时间戳转datetime对象

print(datetime.fromtimestamp(1540367312))

6.字符串转时间对象

dtstr = '2018-10-06T09:25:03.401Z'    # .40IZ毫秒
dt = datetime.strptime(dtstr,'%Y-%m-%dT%H:%M:%S.%fZ')
print(dt)
time包

1.生成当前时间的时间戳 time()
时间戳 timestamp:当前时间减去 原始自定义的标准时间(1970-1-1 0:0:0)的秒数。把时间量化成数字,比较时间先后顺序,计算转换有优势。缺点可读性差,默认长度只能表示到2038年。

print(time.time())  # 1540367312.0024965  秒(当前时间的时间戳,点后面的是毫秒,分秒,微秒)

2.生成本地时间 GTM+8 (北京时间) zh(中国)
格林尼治时间,时区http://wenku.todgo.com/zhiyejiaoyu/8891967b7fc8.html
场景:网站的用户分布世界各地,放了一个双11促销活动,注意考虑时区问题。

print(time.localtime())  

# time.struct_time(tm_year=2018, tm_mon=10, tm_mday=24, tm_hour=16, tm_min=0, tm_sec=31, tm_wday=2, tm_yday=297, tm_isdst=0)

3.格式化时间(’%Y-%m-%d %H:%M:%S’和datetime包相同)

print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))  # 2018-10-24 16:06:10

4.字符串转time的结构

tmobj = time.strptime('2018-10-06T09:25:03.401Z','%Y-%m-%dT%H:%M:%S.%fZ')   
# strptime(),第一个参数为转化的时间,第二个参数为转化的时间规格。

print(tmobj)

5.从time结构对象生成数字时间戳 make

print(time.mktime(tmobj))

6.time.sleep() 场景:操作温湿度传感器

import time
while True:
    print('hello world')
    time.sleep(5)

# sleep() 参数为秒数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值