• python datetime模块用法


    1. 创建naive(无时区信息)的datetime对象

    import datetime  
     
    dt_utc = datetime.datetime.utcnow()
    
    dt_utc # datetime.datetime(2019, 2, 1, 10, 53, 34, 145034)
    
    dt_utc.tzinfo # None 
    
    dt_local = datetime.datetime.now()
    
    dt_local.tzinfo # None 
    
    # tzinfo为None的datetime对象is naive(不知道怎么翻译好。。。)
    
    # tzinfo为tzinfo对象的None的datetime对象is aware。
    
    # 只有都为naive或者都为aware才可以相互比较
    

    2. 创建的aware(有时区信息)的datetime对象

    import datetime  
     
    dt_utc = datetime.datetime.utcnow()
    
    dt_utc_aware = dt.replace(tzinfo=datetime.timezone.utc)
    
    dt_utc_aware.tzinfo # datetime.timezone.utc
    
    dt_local = datetime.datetime.now()
    
    dt_local_aware = dt_local.replace(tzinfo=datetime.tzinfo(datetime.timedelta(hours=8)))
    

    3. datetime对象的时区转换

    import datetime  
     
    dt_utc = datetime.datetime.utcnow()
    
    dt_utc_aware = dt.replace(tzinfo=datetime.timezone.utc)
    
    dt_utc_aware.tzinfo # datetime.timezone.utc
    
    dt_local_aware = dt_utc_aware.astimezone(datetime.timezone(datetime.timedelta(hours=8))) # 转为北京时间
    

    4. datetime对象和时间戳互转

    import datetime  
     
    import time
    
    stamp = time.time() # 获取时间戳
    
    dt_utc = datetime.datetime.utcfromtimestamp(stamp) # 转为datetime
    
    # datetime.datetime(2019, 2, 1, 12, 52, 59, 268168)
    
    dt_local = datetime.datetime.fromtimestamp(stamp)
    
    # datetime.datetime(2019, 2, 1, 20, 52, 59, 268168)
    
    stp = dt_utc.timestamp() # 转为时间戳,时间戳唯一,不因时区变化
    

    4. datetime对象和date对象互转

    import datetime  
    
    d_local = datetime.date.today() # 获取date
    
    dt_utc = datetime.datetime.fromordinal(d_local.toordinal()) # 转为datetime
    
    # datetime.datetime(2019, 2, 1, 0, 0)
    
    d_ = dt_utc.date() # 转为date
    
    # datetime.date(2019, 2, 1)
  • 相关阅读:
    批量修改文件的编码格式至UTF-8
    springboot搭建
    Redit集群搭建-Sentinel模式搭建
    Java并发编程:深入剖析ThreadLocal
    Hibernate常见问题 No row with the given identifier exists问题的解决办法及解决
    vector删除元素与清除内存空洞
    BZOJ 1003 [ZJOI2006]物流运输trans SPFA+DP
    Mybatis+Oracle批处理
    【日常学习】【线性DP】codevs1044 拦截导弹题解
    hdu5353 Average
  • 原文地址:https://www.cnblogs.com/lyg-blog/p/10347033.html
Copyright © 2020-2023  润新知