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模块的主要内容,如果未能解决你的问题,请参考以下文章

python—模块-time & datatime

模块之Time,datatime,hashlib,hmac

Python模块-time && datatime

time,datatime,random,os,sys,hashlib模块

常用模块(datatime)

Python进阶----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型)