Python时间、日期与时间戳转换全指南

Theo
Theo
发布时间:2026-10-13 | 6人浏览过
原创

本文详解Python中时间、日期与时间戳的相互转换方法。涵盖将字符串转为时间戳、调整日期显示格式、时间戳还原为指定格式日期以及获取当前时间并格式化输出的完整流程。文中提供了time与datetime模块的具体代码示例,并列出完整的日期格式化符号对照表,帮助开发者快速掌握时间处理技巧。

Python时间日期转换概述

简介

在程序开发过程中,经常需要处理时间、日期以及时间戳之间的相互转换操作。

示例


# 引入模块
import time, datetime

常见时间转换场景示例

2.1 将字符串类型的日期转换为时间戳


# 字符类型的时间
tss1 = '2013-10-10 23:40:00'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print timeArray   
# timeArray可以调用tm_year等
print timeArray.tm_year  # 2013
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print timeStamp # 1381419600


# 结果如下
time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1)
2013
1381419600

2.2 修改字符串类型日期的显示格式


tss2 = "2013-10-10 23:40:00"
# 转为数组
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
# 转为其它显示格式
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print otherStyleTime # 2013/10/10 23:40:00

tss3 = "2013/10/10 23:40:00"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print otherStyleTime # 2013-10-10 23:40:00

2.3 将时间戳转换为指定格式的日期字符串


# 使用time
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print otherStyleTime  # 2013--10--10 23:40:00
# 使用datetime
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print otherStyleTime  # 2013--10--10 15:40:00

2.4 获取当前系统时间并按指定格式输出


# time获取当前时间戳
now = int(time.time())   # 1533952277
timeArray = time.localtime(now)
print timeArray
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print otherStyleTime  

# 结果如下
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=11, tm_hour=9, tm_min=51, tm_sec=17, tm_wday=5, tm_yday=223, tm_isdst=0)
2018--08--11 09:51:17


# datetime获取当前时间,数组格式
now = datetime.datetime.now()
print now
otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
print otherStyleTime 

# 结果如下:
2018-08-11 09:51:17.362986
2018--08--11 09:51:17

格式化符号详解

利用datetime.datetime.strptime(date_string, format)对原始字符串进行时间格式解析,并将结果赋值给time_format变量,随后调用time_format的strftime(format)方法,即可输出符合预期的格式。

Python中用于时间日期格式化的符号说明如下:

%y 表示两位数的年份(范围00-99)

%Y 表示四位数的年份(范围0000-9999)

%m 表示月份(范围01-12)

%d 表示一个月中的第几天(范围0-31)

%H 表示24小时制的小时数(范围0-23)

%I 表示12小时制的小时数(范围01-12)

%M 表示分钟数(范围00-59)

%S 表示秒数(范围00-59)

%a 表示本地化的简化星期名称

%A 表示本地化的完整星期名称

%b 表示本地化的简化月份名称

%B 表示本地化的完整月份名称

%c 表示本地相应的日期和时间表示

%j 表示一年中的第几天(范围001-366)

%p 表示本地化的A.M.或P.M.等价符号

%U 表示一年中的星期数(范围00-53),以星期天作为星期的开始

%w 表示星期几(范围0-6),以星期天作为星期的开始

%W 表示一年中的星期数(范围00-53),以星期一作为星期的开始

%x 表示本地相应的日期表示

%X 表示本地相应的时间表示

%Z 表示当前时区的名称

%% 表示百分号本身

以上即为本文的全部内容,希望能为读者的学习提供有益帮助,同时也欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表