time模块

时间:2019-09-25
本文章向大家介绍time模块,主要包括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())#1561034614.9590108时间戳
print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2019-06-20 20:44:02'
print(time.localtime()) #本地时区的struct_time

计算机识别的只有时间戳格式的时间,所以为了方便人们的认识,需要时间之间的相互转换。

按照上图进行时间的转换:

import time

# print(time.time())#1561034614.9590108时间戳
# print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2019-06-20 20:44:02'
# print(time.localtime()) #本地时区的struct_time

###将当前时间戳转换为结构化时间###
print(time.localtime(time.time())) #localtime内部传入时间戳

###将结构化时间转换为当前时间戳###
print(time.mktime(time.localtime()))

###将结构化时间转换为字符串时间###
print(time.strftime("%Y-%m-%d %X", time.localtime()))#2019-06-20 21:06:31

###将字符串时间转换为结构化时间###
print(time.strptime('2019-06-20 21:06:31', '%Y-%m-%d %X'))
"""
1、today函数  返回一个当前本地时间的datetime.datetime类的对象。
2、now([tz]) 不指定时区,返回一个当前本地时间的datetime.datetime类的对象。指定时区,返回指定时区的时间
3、fromtimestamp(timestamp[,tz]) 给定一个时间戳,返回指定时区的datetime.datetime类的对象。不指定时区,返回本地时区的datetime类对象
4、strptime("时间字符串",format) 将格式时间字符串转换为datetime对象
5、Datetime类—year、month、day、hour、minute、second属性
"""
import datetime
import time

#获取时间以及转换
print(datetime.datetime.today())
# print(datetime.datetime.now()) #返回 2019-06-21 09:25:19.535571
print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2019-06-21
print(datetime.datetime.now() )
print(datetime.datetime.strptime("2019-06-21 09:25:19","%Y-%m-%d %H:%M:%S"))

#时间加减
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分

#时间替换
c_time  = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2))
datetime

原文地址:https://www.cnblogs.com/shenjianping/p/11061374.html