time和datatime模块
Posted cjsword
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了time和datatime模块相关的知识,希望对你有一定的参考价值。
Time模块
在Python中,通常有这几种方式来表示时间:
- 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
- 格式化的时间字符串(Format String)
- 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
先以当前时间为准,快速认识三种形式的时间
import time print(time.time()) # 时间戳:1552379622.9565196
print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:‘2019-03-12 16:33:42‘ print(time.localtime()) #本地时区的struct_time。time.struct_time(tm_year=2019, tm_mon=3, tm_mday=12, tm_hour=16, tm_min=33, tm_sec=42, tm_wday=1, tm_yday=71, tm_isdst=0)
print(time.gmtime()) #UTC时区的struct_time。time.struct_time(tm_year=2019, tm_mon=3, tm_mday=12, tm_hour=8, tm_min=33, tm_sec=42, tm_wday=1, tm_yday=71, tm_isdst=0)
其中计算机认识的时间只能是‘时间戳‘格式,而程序员可处理的或者说人类能看懂的时间有: ‘格式化的时间字符串‘,‘结构化的时间‘ ,于是有了下图的转换关系
将结构化时间转换为时间戳
import time
print(time.mktime(time.localtime()))
将结构化时间转换成字符串时间
import time
print(time.strftime(‘%Y-%m-%d %X‘, time.localtime()))
将字符串时间转换成结构化时间
import time
print(time.strptime(‘2019:3:8:9:40:0‘, ‘%Y:%m:%d:%X‘))
将结构化时间转换成固定字符串时间
import time
print(asctime())
#asctime默认参数为time.time()
将时间戳转换成固定字符串时间
import time
print(ctime())
#ctime()的默认参数为time.time()
datatime模块
import datetime
import time
print(datetime.datetime.now()) #返回 2019-03-13 14:37:07.018817
print(datetime.date.fromtimestamp(time.time())) # 时间戳直接转成日期格式 2019-03-13
#时间加减
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
以上是关于time和datatime模块的主要内容,如果未能解决你的问题,请参考以下文章
time,datatime,random,os,sys,hashlib模块
Python进阶----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型)