python常用的日期時間以及循環日期


今天、昨天、明天

import datetime
today = datetime.date.today()                   # 今天
yesterday = today - datetime.timedelta(days=1)  # 昨天
tomorrow = today + datetime.timedelta(days=1)  # 明天

時間提起之間轉化

引入模塊

# 引入模塊
import time, datetime

1、 str類型的日期轉換為時間戳

 # 字符類型的時間
  tss1 = '2013-10-10 23:40:00'
 # 轉為時間數組
  timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
  print timeArray     
 # timeArray可以調用tm_year等
  print timeArray.tm_year   # 2013
 # 轉為時間戳
 timeStamp = int(time.mktime(timeArray))
 print timeStamp  # 1381419600
 # 結果如下
 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 更改str類型日期的顯示格式

tss2 = "2013-10-10 23:40:00"
# 轉為數組
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
# 轉為其它顯示格式
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print otherStyleTime  # 2013/10/10 23:40:00

tss3 = "2013/10/10 23:40:00"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print otherStyleTime  # 2013-10-10 23:40:00

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.fromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime)   # 2013--10--10 23:40:00
# 使用datetime,指定utc時間,相差8小時
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime)   # 2013--10--10 15:40:00

4 獲取當前時間並且用指定格式顯示

# time獲取當前時間戳
now = int(time.time())     # 1533952277
timeArray = time.localtime(now)
print timeArray
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print otherStyleTime

# 結果如下
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)
2018--08--11 09:51:17


# datetime獲取當前時間,數組格式
now = datetime.datetime.now()
print now
otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
print otherStyleTime

# 結果如下:
2018-08-11 09:51:17.362986
2018--08--11 09:51:17

 開始日期到結束日期

import datetime

begin = datetime.date(1956,1,1)
end = datetime.date(1978,12,31)
d = begin
delta = datetime.timedelta(days=1)
while d <= end:
    date = d.strftime("%Y-%m-%d")
    print (date)
    d += delta

 python獲取n天后的日期

import datetime

t=datetime.datetime.now()
#當前日期
d1 =t.strftime('%Y-%m-%d %H:%M:%S')
#7天后
d2=(t+datetime.timedelta(days=7)).strftime("%Y-%m-%d %H:%M:%S") # +變成-,就是之前多少天日期

print(d1)
print(d2)

 


免責聲明!

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



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