python之time模块和datetime模块

优先掌握的时间模块
一.time
时间分为三种格式
1.时间戳:从1970年到现在经历过的秒数
时间戳的作用:用于时间间隔的计算

import  time
print(time.time())#1587949585.395314

2.按照某种格式显示的时间:2020-03-30 11:11:11
作用:用于展示时间

print(time.strftime('%Y-%m-%d %H:%M:%S %p'))#2020-04-27 09:06:25 AM
print(time.strftime('%Y-%m-%d %X'))#2020-04-27 09:06:25

3.结构化时间
作用:获取当前的部分时间

res=time.localtime()
print(res)#time.struct_time(tm_year=2020, tm_mon=4, tm_mday=27, tm_hour=9, tm_min=9, tm_sec=42, tm_wday=0, tm_yday=118, tm_isdst=0)
print(res.tm_yday)#118
print(res.tm_year)#2020

二:datetime
直接展示格式化时间

import datetime

print(datetime.datetime.now())  # 2020-04-27 09:15:03.548766
用于时间计算(没有年的计算)
print(datetime.datetime.now() + datetime.timedelta(days=3))
2020-04-30 09:20:19.602661
print(datetime.datetime.now() + datetime.timedelta(days=-3))
2020-04-24 09:20:19.602661
print(datetime.datetime.now() - datetime.timedelta(weeks=-3))
2020-05-18 09:20:19.602661

时间模块需要掌握操作
1.时间格式的转换

格式化字符串时间------strptime------>结构化时间 (struct_time) ------ mktime------>时间戳(Timestamp)

格式化字符串时间<-----strftime-------结构化时间<----- localtime/gmtime------时间戳

结构化时间–>时间戳

import time
s_time=time.localtime()
print(time.mktime(s_time))#1587951005.0

时间戳转结构化时间

localtime:中国北京时间
gmtime:世界时间(北京时间-8hours)
tm_time=time.time()
print(time.localtime(tm_time))#time.struct_time(tm_year=2020, tm_mon=4, tm_mday=27, tm_hour=9, tm_min=50, tm_sec=15, tm_wday=0, tm_yday=118, tm_isdst=0)
print(time.gmtime(tm_time))#time.struct_time(tm_year=2020, tm_mon=4, tm_mday=27, tm_hour=1, tm_min=51, tm_sec=22, tm_wday=0, tm_yday=118, tm_isdst=0)

结构化时间—>格式化字符串时间

s_time=time.localtime()
print(time.strftime('%Y-%m-%d %H:%M:%S',s_time))#2020-04-27 09:56:56

格式化时间—>结构化时间

print(time.strptime('2020-04-27 09:56:56','%Y-%m-%d %H:%M:%S'))#time.struct_time(tm_year=2020, tm_mon=4, tm_mday=27, tm_hour=9, tm_min=56, tm_sec=56, tm_wday=0, tm_yday=118, tm_isdst=-1)
真正需要掌握的:格式化时间---->时间戳
当我们得到的是一个格式化的时间,但是需要得到7天后的时间
2020-04-27 09:56:56
格式化时间---->结构化时间---->时间戳
struct_time=time.strptime('2020-04-27 09:56:56','%Y-%m-%d %H:%M:%S')
timestamp=time.mktime(struct_time) + 7*86400
时间戳------>结构化时间------->格式化时间
res=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timestamp))
print(res)#2020-05-04 09:56:56

了解知识

time.sleep(3)
import time
print(time.asctime())#Mon Apr 27 10:21:01 2020
print(time.strftime('%Y-%m-%d %H:%M:%S %p'))#2020-04-27 10:21:01 AM
                                

结构化时间---- asctime ----->%a %b %d %H %M %S %Y串<—ctime-----时间戳

import datetime
print(datetime.datetime.now())#2020-04-27 10:26:27.492310,北京时间
print(datetime.datetime.utcnow())#2020-04-27 02:26:27.492310,世界时间

格式化时间----->时间戳
转化后的格式固定

print(datetime.datetime.fromtimestamp(333333))#1970-01-05 04:35:33
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值