zoukankan      html  css  js  c++  java
  • Python时间、日期、时间戳之间的转换

    一、字符串与为时间字符串之间的互相转换

      方法:time模块下的strptime方法

    a = "2012-11-11 23:40:00"
    # 字符串转换为时间字符串
    import time
    timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
    
    # 时间字符串转换为字符串
    b = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
    print(type(b))# <class 'str'>

    二、将字符串的时间转换为时间戳

      方法:字符串 --> 时间字符串 --> 时间戳

     a = "2013-10-10 23:40:00"
    # 将其转换为时间数组
    import time
    timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
    # 转换为时间戳:
    timeStamp = int(time.mktime(timeArray))
    print(timeStamp)#1381419600

    三、得到时间戳(10位和13位)

    import time
    t = time.time()
    print(t) # 1436428326.207596
    t_10 = int(t)# 10位时间戳
    t_13 = int(round(time.time() * 1000))# 13位时间戳
    print(t_10)# 1436428326
    print(t_13)# 1436428326207

    四、将时间戳转换为时间格式的字符串

      方法一:利用localtime()转换为时间数组,然后格式化为需要的格式

    timeStamp = 1381419600# 10位时间戳
    # timeStamp_13 = 1381419600234# 13位时间戳
    timeArray = time.localtime(timeStamp)# timeStamp_13 / 1000
    otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
    print(otherStyletime)# "2013-10-10 23:40:00"(str)

      方法二、利用datetime模块下的utcfromtimestamp方法

    import datetime
    timeStamp = 1381419600
    dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
    otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
    print(otherStyletime) # "2013-10-10 23:40:00"

    五、时间字符串转换为时间戳

      方法:利用time模块的mktime方法

    import time
    import datetime
    # 先获得时间数组格式的日期
    test_date = datetime.datetime.now()
    # 转换为时间戳:
    timeStamp = int(time.mktime(test_date.timetuple()))

    六、时间字符串加减日期

      方法:利用datetime模块下的timedelta方法

    import time
    import datetime
    # 先获得时间数组格式的日期
    test_datetime = datetime.datetime.now()
    threeDayAgo = (test_datetime - datetime.timedelta(days = 3))# 3天前
    # 注:timedelta()的参数有:days,hours,seconds,microseconds

    七、获取 UTC 时间戳

    import calendar 
    calendar.timegm(datetime.datetime.utcnow().timetuple())

    八、python 格式化时间含中文报错 UnicodeEncodeError: 'locale' codec can't encode character 'u5e74' in position 2: Illegal byte sequence'

    import time
    print(time.strftime(u'%Y年%m月%d日',time.localtime(time.time())))
    
    # 执行上面代码会报错  UnicodeEncodeError: 'locale' codec can't encode character 'u5e74' in position 2: Illegal byte sequence
    
    
    # 解决方式:
    time.strftime('%Y{y}%m{m}%d{d}').format(y='',m='',d='')

           

  • 相关阅读:
    Python round() 函数
    Python pow() 函数
    图像角点检测
    计算机视觉解析力
    空间点像素索引(三)
    空间点像素索引(二)
    空间点像素索引(一)
    相机标定实用方案
    摄像头的主要参数
    多篇开源CVPR 2020 语义分割论文
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/9418744.html
Copyright © 2011-2022 走看看