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

    1.UTC时间字符串 --> 本地时间字符串

    import datetime
    
    
    def utc_str_to_local_str(utc_str: str, utc_format: str, local_format: str):
        """
        把UTC格式的时间字符串转换成本地时间字符串
        :param utc_str: UTC time string
        :param utc_format: format of UTC time string
        :param local_format: format of local time string
        :return: local time string
        """
        temp1 = datetime.datetime.strptime(utc_str, utc_format)
        temp2 = temp1.replace(tzinfo=datetime.timezone.utc)
        local_time = temp2.astimezone()
        return local_time.strftime(local_format)
    

    使用示例: 把UTC时间字符串转换成本地的时间字符串

    utc = '2018-10-17T00:00:00.111Z'
    utc_fmt = '%Y-%m-%dT%H:%M:%S.%fZ'
    local_fmt = '%Y-%m-%dT%H:%M:%S'
    local_string = utc_str_to_local_str(utc, utc_fmt, local_fmt)
    print(local_string)   # 2018-10-17T08:00:00
    

    原先的UTC时间字符串为: 2018-10-17T00:00:00.111Z
    现在的转换结果为: 2018-10-17T08:00:00
    我所处的为东8时区, 正好领先 UTC8个小时, 证明这个时间转换是正确的.

    2.UTC时间字符串 --> 时间戳

    def utc_str_to_timestamp(utc_str: str, utc_format: str):
        """
        UTC时间字符串转换为时间戳
        """
        temp1 = datetime.datetime.strptime(utc_str, utc_format)
        temp2 = temp1.replace(tzinfo=datetime.timezone.utc)
        return int(temp2.timestamp())
    

    时间戳: 从1970年1月1日0时0分0秒开始的绝对秒数
    精度可以选择是否保留小数点

    使用示例

    utc = '2018-10-17T00:00:00'
    utc_fmt = '%Y-%m-%dT%H:%M:%S'
    timestamp = utc_str_to_timestamp(utc, utc_fmt)
    print(timestamp)
    
  • 相关阅读:
    一个高级的makefile文件
    poj3616题(动态规划),看了别人的提示,自己又写了一遍
    浅谈C++ IO标准库(1)
    https证书安装踩坑
    一个简单通知服务的开发和搭建
    WCF学习笔记
    线程(Thread)、线程池(ThreadPool)技术
    BackgroundWorker与线程使用
    使用ITextSharp生成PDF文件心得
    值类型与引用类型
  • 原文地址:https://www.cnblogs.com/crb912/p/9890201.html
Copyright © 2011-2022 走看看