• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
python中时间、日期、时间戳的转换

1.简介

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

2.示例

# 引入模块
import time, datetime

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

 1 # 字符类型的时间
 2 tss1 = '2013-10-10 23:40:00'
 3 # 转为时间数组
 4 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
 5 print timeArray     
 6 # timeArray可以调用tm_year等
 7 print timeArray.tm_year   # 2013
 8 # 转为时间戳
 9 timeStamp = int(time.mktime(timeArray))
10 print timeStamp  # 1381419600
11 
12 
13 # 结果如下
14 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)
15 2013
16 1381419600

2.2 更改str类型日期的显示格式

 1 tss2 = "2013-10-10 23:40:00"
 2 # 转为数组
 3 timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
 4 # 转为其它显示格式
 5 otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
 6 print otherStyleTime  # 2013/10/10 23:40:00
 7 
 8 tss3 = "2013/10/10 23:40:00"
 9 timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
10 otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
11 print otherStyleTime  # 2013-10-10 23:40:00

2.3 时间戳转换为指定格式的日期

 1 # 使用time
 2 timeStamp = 1381419600
 3 timeArray = time.localtime(timeStamp)
 4 otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
 5 print(otherStyleTime)   # 2013--10--10 23:40:00
 6 # 使用datetime
 7 timeStamp = 1381419600
 8 dateArray = datetime.datetime.fromtimestamp(timeStamp)
 9 otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
10 print(otherStyleTime)   # 2013--10--10 23:40:00
11 # 使用datetime,指定utc时间,相差8小时
12 timeStamp = 1381419600
13 dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
14 otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
15 print(otherStyleTime)   # 2013--10--10 15:40:00

2.4 获取当前时间并且用指定格式显示

 1 # time获取当前时间戳
 2 now = int(time.time())     # 1533952277
 3 timeArray = time.localtime(now)
 4 print timeArray
 5 otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
 6 print otherStyleTime    
 7 
 8 # 结果如下
 9 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)
10 2018--08--11 09:51:17
11 
12 
13 # datetime获取当前时间,数组格式
14 now = datetime.datetime.now()
15 print now
16 otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
17 print otherStyleTime  
18 
19 # 结果如下:
20 2018-08-11 09:51:17.362986
21 2018--08--11 09:51:17 

!!!

 

 
 
posted on 2017-12-11 19:24  火磷  阅读(647041)  评论(5)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3