Python中的时间显示(time模块相关)

  Python提供了time模块来帮助我们处理时间,但是刚刚接触这个模块时,会发现time模块中的时间类型有很多,也有各种转换函数,难以让人把握住重点。下面本文将介绍time模块中最常用的部分,有了它,在处理大多是python时间问题上都不用愁了。

Python中的时间格式

Python中有三种时间格式:

  • float格式,即时间戳,每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。e.g. 1564803734.248985
  • tuple格式,即时间元组,其中包括9个元素,分别表示“年、月、日、时、分、秒、周几、一年中第几天、时节(春夏秋冬)” e.g. time.struct_time(tm_year=2019, tm_mon=8, tm_mday=3, tm_hour=11, tm_min=42, tm_sec=14, tm_wday=5, tm_yday=215, tm_isdst=0)
  • string格式,即格式化时间,可以自定义格式,也可以用python默认的格式。e.g. Sat Aug 3 11:42:14 2019

获取时间

两种方式,第一种获取时间戳,第二种获取时间元组

import time
# 获取时间戳
start_time_1 = time.time()
print "start_time_1 is ", start_time_1
# 获取时间元组
start_time_2 = time.localtime()
print "start_time_2 is ", start_time_2

输出:

start_time_1 is 1564803734.248985
start_time_2 is time.struct_time(tm_year=2019, tm_mon=8, tm_mday=3, tm_hour=12, tm_min=17, tm_sec=2, tm_wday=5, tm_yday=215, tm_isdst=0)

时间格式之间的转换

时间元组 <=> 格式化时间

格式化时间可以将时间元组转化成可读的字符串,便于我们阅读。

  • time.strftime()
  • time.strptime()
import time
# 将时间元组转化成格式化时间
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 将格式化时间转化成时间元组
print time.strptime("2019-08-03 12:21:17", "%Y-%m-%d %H:%M:%S")

输出:

2019-08-03 12:21:17
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=3, tm_hour=12, tm_min=21, tm_sec=17, tm_wday=5, tm_yday=215, tm_isdst=-1)

时间戳 <=> 时间元组

  • time.localtime()
  • time.mktime()

time.localtime()技能获取当前的时间元组,也能将时间戳转化成时间元组

import time
# 时间戳转化成时间元组
print time.localtime(time.time())
# 时间元组转化成时间戳
print time.mktime(time.localtime())

输出:

time.struct_time(tm_year=2019, tm_mon=8, tm_mday=3, tm_hour=12, tm_min=21, tm_sec=17, tm_wday=5, tm_yday=215, tm_isdst=-1)
1564806649.0

你可能感兴趣的:(Python)