Python编程之时间和日期模块

跟風遠走 提交于 2019-12-03 01:34:33

工作当中经常会遇到时间或者日期的计算和格式转换,因此时间模块就显得非常重要,Python内置提供了 time和 datetime和 calendar模块用来格式化日期和时间.
time模块

Python中时间可以概括为三种类型:
  • float浮点数,即时间戳
  • struct tuple 时间元组
  • str字符串,规定格式表示

时间戳介绍

每个时间戳都以自从1970年1月1日午夜(历元)到当前经过了多长时间来表示,时间间隔是以秒为单位的浮点小数.

实例

[Python] 纯文本查看 复制代码
1
2
3
4
import time
 
print('本地时间戳: ', time.time()) 
# 本地时间戳:  1562584408.3060238


时间戳单位最适于做日期运算,但是1970年之前的日期就无法以此表示了.太遥远的日期也不行, UNIX和 Windows只支持到2038年.
时间元组格式


具体实例
[Python] 纯文本查看 复制代码
1
2
3
import time
# 时间元组格式
print('本地时间为: ', time.localtime(time.time()))


输出结果:

[Python] 纯文本查看 复制代码
1
本地时间为:  time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=19, tm_min=28, tm_sec=28, tm_wday=0, tm_yday=189, tm_isdst=0)


2种时间字符串格式第一种

[Python] 纯文本查看 复制代码
1
2019-07-08 19:32:07  # 正常格式


第二种

[Python] 纯文本查看 复制代码
1
Mon Jul  d 19:32:2019 # 英文格式


几种时间格式的转换


时间戳转时间元组
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
import time
 
# 第一种: 结果是UTC时间
ret1 = time.gmtime()
 
# 第二种: 结果是本地时间(UTC+8)
ret2 = time.localtime()
 
print(ret1)
print(ret2)



输出结果

[Python] 纯文本查看 复制代码
1
2
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=11, tm_min=44, tm_sec=46, tm_wday=0, tm_yday=189, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=19, tm_min=44, tm_sec=46, tm_wday=0, tm_yday=189, tm_isdst=0)



时间元组转时间戳

[Python] 纯文本查看 复制代码
1
2
3
4
5
6
7
import time
 
# 1.获取当前时间元组格式
struct_time = time.localtime()
 
# 2.转时间戳
print(time.mktime(struct_time))


输出格式

[Python] 纯文本查看 复制代码
1
1562586423.0


时间元组转字符串(format_time)

[Python] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
9
import time
 
# 1. 获取时间元组
struct_time = time.localtime()
 
# 2. 转换字符串格式
print(time.strftime('%Y-%m-%d %H:%M:%S', struct_time))
print(time.strftime('%a %b %d %H:%M:%Y', struct_time))
print(time.asctime(struct_time))


输出

[Python] 纯文本查看 复制代码
1
2
3
2019-07-08 19:52:21
Mon Jul 08 19:52:2019
Mon Jul  8 19:52:21 2019


时间字符串转换为时间戳

[Python] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
import time
 
t = '2019-07-08 19:52:21'
 
# 1. 转时间元组
struct_time = time.strptime(t, '%Y-%m-%d %H:%M:%S')
# 2. 转时间戳
print(time.mktime(struct_time))

 

输出



[Python] 纯文本查看 复制代码
1
1562586741.0
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!