A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

工作当中经常会遇到时间或者日期的计算和格式转换,因此时间模块就显得非常重要,Python内置提供了 timedatetimecalendar模块用来格式化日期和时间.
time模块
Python中时间可以概括为三种类型:
  • float浮点数,即时间戳
  • struct tuple 时间元组
  • str字符串,规定格式表示
时间戳介绍
每个时间戳都以自从1970年1月1日午夜(历元)到当前经过了多长时间来表示,时间间隔是以秒为单位的浮点小数.
实例

[Python] 纯文本查看 复制代码
import time

print('本地时间戳: ', time.time())  
# 本地时间戳:  1562584408.3060238

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

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

输出结果:
[Python] 纯文本查看 复制代码
本地时间为:  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] 纯文本查看 复制代码
2019-07-08 19:32:07  # 正常格式

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

几种时间格式的转换

时间戳转时间元组
[Python] 纯文本查看 复制代码
import time

# 第一种: 结果是UTC时间
ret1 = time.gmtime()

# 第二种: 结果是本地时间(UTC+8)
ret2 = time.localtime()

print(ret1)
print(ret2)


输出结果
[Python] 纯文本查看 复制代码
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] 纯文本查看 复制代码
import time

# 1.获取当前时间元组格式
struct_time = time.localtime()

# 2.转时间戳
print(time.mktime(struct_time))

输出格式
[Python] 纯文本查看 复制代码
1562586423.0

时间元组转字符串(format_time)
[Python] 纯文本查看 复制代码
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] 纯文本查看 复制代码
2019-07-08 19:52:21
Mon Jul 08 19:52:2019
Mon Jul  8 19:52:21 2019

时间字符串转换为时间戳
[Python] 纯文本查看 复制代码
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] 纯文本查看 复制代码
1562586741.0




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马