python中时间、日期、时间戳的转换的实现方法

yipeiwu_com5年前Python基础

1.简介

在编写代码时,往往涉及时间、日期、时间戳的相互转换。

2.示例

# 引入模块
import time, datetime

2.1 str类型的日期转换为时间戳

# 字符类型的时间
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 更改str类型日期的显示格式

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设计】。

相关文章

Python中的 enum 模块源码详析

起步 上一篇 《Python 的枚举类型》 文末说有机会的话可以看看它的源码。那就来读一读,看看枚举的几个重要的特性是如何实现的。 要想阅读这部分,需要对元类编程有所了解。 成员名不允...

python输入多行字符串的方法总结

Python中输入多行字符串: 方法一:使用三引号 >>> str1 = '''Le vent se lève, il faut tenter de vivre....

Python标准库之sqlite3使用实例

Python标准库之sqlite3使用实例

Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它...

Pyecharts绘制全球流向图的示例代码

Pyecharts绘制全球流向图的示例代码

安装 pip(3) install pyecharts 此文版本为v1.6 此文版本为v1.6 此文版本为v1.6 效果图 使用Pycharts绘制一个如上图类似的全球流向图。 pye...

python实现微信自动回复机器人功能

python实现微信自动回复机器人功能

一 简单介绍 wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。实现了微信登录、收发消息、搜索好友、数据统计等功能。...