1.將字符串的時間轉換為時間戳
import time
a = "2021-08-31 11:00:00"
# 將其轉換為時間數組
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
# 轉換為時間戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)
返回結果:
時間戳為 2021-08-31 11:00:00
1630378800
2.字符串格式更改
import time
a = "2021-08-31 11:00:00"
# 如a = "2021-08-31 11:00:00",想改為 a = "2021/08/31 11:00:00"
#方法:先轉換為時間數組,然后轉換為其他格式
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print(otherStyleTime)
返回結果:
2021/08/31 11:00:00
3.時間戳轉換為指定格式日期
方法一
import time
# 利用localtime()轉換為時間數組,然后格式化為需要的格式
# 時間戳為 2021-08-31 11:00:00
timeStamp = 1630378800
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
返回結果:
2021-08-31 11:00:00
方法二
import datetime
# 時間戳為 2021-08-31 11:00:00
timeStamp = 1630378800
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime)
# 要加8小時,因為時間差8小時
otherStyleTime = dateArray + datetime.timedelta(hours=8)
print(otherStyleTime)
返回結果:
2021-08-31 03:00:00
2021-08-31 11:00:00
4.獲取當前時間並轉換為指定日期格式
方法一
import time
# 獲得當前時間時間戳
# 時間戳
timeStamp = int(time.time())
# 轉換為其他日期格式,如:"%Y-%m-%d %H:%M:%S"
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
返回結果:
2021-08-31 11:00:00
方法二
import datetime
# 獲得當前時間
# 這是時間數組格式
now2 = datetime.datetime.now()
print(now2)
結果:2021-08-31 11:13:09.658738
# 轉換為指定的格式
otherStyleTime = now2.strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime)
返回結果:
2021-08-31 11:13:09
5.獲得三天\七天前的時間
import time
import datetime
# 先獲得時間數組格式的日期
# threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 7))
# 轉換為時間戳
timeStamp = int(time.mktime(threeDayAgo.timetuple()))
# 轉換為其他字符串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")
# 注:timedelta()的參數有:days,hours,seconds,microseconds
print(otherStyleTime)
返回結果:
2021-08-28 11:00:00
2021-08-24 11:00:00
6.給定時間戳,計算該時間的幾天前時間
import datetime
# 時間戳為 2021-08-31 11:00:00
timeStamp = 1630378800
#先轉換為datetime
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray - datetime.timedelta(days=3)
print(threeDayAgo)
# 要加8小時,因為時間差8小時
threeDayAgo = dateArray - datetime.timedelta(days=3) + datetime.timedelta(hours=8)
print(threeDayAgo)
返回結果:
2021-08-28 03:00:00
2021-08-28 11:00:00
對應時間之間的格式
%a 星期的簡寫。如 星期三為Web
%A 星期的全寫。如 星期三為Wednesday
%b 月份的簡寫。如4月份為Apr
%B 月份的全寫。如4月份為April
%c: 日期時間的字符串表示。(如: 04/07/10 10:43:39)
%d: 日在這個月中的天數(是這個月的第幾天)
%f: 微秒(范圍[0,999999])
%H: 小時(24小時制,[0, 23])
%I: 小時(12小時制,[0, 11])
%j: 日在年中的天數 [001,366](是當年的第幾天)
%m: 月份([01,12])
%M: 分鍾([00,59])
%p: AM或者PM
%S: 秒(范圍為[00,61],為什么不是[00, 59],參考python手冊_)
%U: 周在當年的周數當年的第幾周),星期天作為周的第一天
%w: 今天在這周的天數,范圍為[0, 6],6表示星期天
%W: 周在當年的周數(是當年的第幾周),星期一作為周的第一天
%x: 日期字符串(如:04/07/10)
%X: 時間字符串(如:10:43:39)
%y: 2個數字表示的年份
%Y: 4個數字表示的年份
%z: 與utc時間的間隔 (如果是本地時間,返回空字符串)
%Z: 時區名稱(如果是本地時間,返回空字符串)
%%: %% => %