zoukankan      html  css  js  c++  java
  • 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 时间戳转换为指定格式的日期
    
    # 使用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.utcfromtimestamp(timeStamp)
    otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
    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 
    ===========================

    time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(X))

    >>> X=1480585800.00
    >>> print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(X))
    2016-12-01 17:50:00

    #!
    /usr/bin/env python

    #coding=utf-8

    import,time,import,datetime

    d1=datetime.datetime.now()

    d3=d1 +datetime.timedelta(days =10)

    printstr(d3)

    printd3.ctime()

    ---------------------

    #coding=utf-8
    import time
    import datetime
    
    def yes_time():
        #获取当前时间
        now_time = datetime.datetime.now()
        #当前时间减去一天 获得昨天当前时间
        yes_time = now_time + datetime.timedelta(days=-1)
        #格式化输出
        yes_time_str = yes_time.strftime('%Y-%m-%d %H:%M:%S')
        print yes_time_str  # 2017-11-01 22:56:02
    
    def dif_time():
        #计算两个时间之间差值
        now_time = datetime.datetime.now()
        now_time = now_time.strftime('%Y-%m-%d %H:%M:%S')
        d1 = datetime.datetime.strptime('2017-10-16 19:21:22', '%Y-%m-%d %H:%M:%S')
        d2 = datetime.datetime.strptime(now_time, '%Y-%m-%d %H:%M:%S')
        #间隔天数
        day = (d2 - d1).days
        #间隔秒数
        second = (d2 - d1).seconds
        print day   #17
        print second  #13475  注意这样计算出的秒数只有小时之后的计算额 也就是不包含天之间差数
    
    def unix_time():
        #将python的datetime转换为unix时间戳
        dtime = datetime.datetime.now()
        un_time = time.mktime(dtime.timetuple())
        print un_time  #1509636609.0
        #将unix时间戳转换为python  的datetime
        unix_ts = 1509636585.0
        times = datetime.datetime.fromtimestamp(unix_ts)
        print times  #2017-11-02 23:29:45

     

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/9845550.html
Copyright © 2011-2022 走看看