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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM