zoukankan      html  css  js  c++  java
  • python 时间 时间戳 转换

    1.简介

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

    python datetime 添加时区

    import datetime
    from dateutil import tz
    
    tz_sh = tz.gettz('Asia/Shanghai')
    print datetime.datetime.now(tz=tz_sh)
    

    2.示例

    # 引入模块
    import time, datetime
    from sqlalchemy_utils.types.arrow import arrow
    

    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.fromtimestamp(timeStamp)
    otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
    print(otherStyleTime)   # 2013--10--10 23:40:00
    # 使用datetime,指定utc时间,相差8小时
    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 
    

    2.5 使用arrow转换时间

    logging.warning(arrow.get(1593515266000 / 1000).format("YYYY-MM-DD HH:mm:ss"))
    # 相差8小时
    logging.warning(arrow.get(1593515266000 / 1000).to("local").format("YYYY-MM-DD HH:mm:ss"))
    
    # 结果如下:
    WARNING:root:2020-06-30 11:07:46
    WARNING:root:2020-06-30 19:07:46
    
  • 相关阅读:
    转载CSDN(educast):c# 对两个Datatable的结构相同进行合并
    .net升级到4.0之后,出现'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its depen
    转载来自博客园(poleices):C#和JavaScript交互(asp.net前台和后台互调)总结
    Bat文件 执行MSSQL 脚本
    多功能jQuery对话框插件 jBox 2.3 正式版
    十一种Web网站程序性能测试工具介绍
    大型电子商务网站架构
    Nginx负载均衡
    文语通5.0破解版下载 有详细图解安装说明
    分享8个超棒的免费高质量图标搜索引擎
  • 原文地址:https://www.cnblogs.com/shangwei/p/13353912.html
Copyright © 2011-2022 走看看