• 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 

    !!!

     
  • 相关阅读:
    只要我跑的够快,内卷它就卷不到我,一名高中生是如何做到在疫情下涨薪70%的?
    一个@Transaction哪里来这么多坑?
    基于netty实现一个完整的TFTP服务器
    DBeaver安装和注意要点
    Logstash将ES服务器A数据迁移ES服务器B
    Logstash迁移ES5.6.1一个索引多type类型迁移到ES7.6.2无type类型
    windows下使用filezilla上传文件权限问题
    logstash7.6.2更新已存在的elasticsearch记录
    mysql磁盘空间不足报错
    Kibana中DevTools命令集锦
  • 原文地址:https://www.cnblogs.com/jfl-xx/p/8024596.html
Copyright © 2020-2023  润新知