一、常見時間格式
在Python中,常見的時間格式有多種,下面介紹一下常用的幾種格式:
1. 時間戳
時間戳(epoch time)是指從1970年1月1日午夜(格林威治時間)以來的秒數。通常使用整數表示,可以用time()函數獲得。
import time
time_now = time.time()
print("當前時間戳為:", time_now)
輸出結果:
當前時間戳為: 1624905010.671396
2. 字元串時間
字元串時間是指將時間格式化成字元串來表示。常見的字元串時間格式有’%Y-%m-%d %H:%M:%S’,可以用strftime()函數對時間格式進行轉換。
import time
time_now = time.time()
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_now))
print("當前時間為:", time_str)
輸出結果:
當前時間為: 2021-06-29 15:50:10
3. datetime時間
datetime時間是Python中處理日期和時間的標準模塊,可以用來進行日期和時間的計算、格式化等操作。
import datetime
time_now = datetime.datetime.now()
print("當前時間為:", time_now)
輸出結果:
當前時間為: 2021-06-29 15:50:10.671950
二、時間格式化字元串
時間格式化字元串是指將datetime對象轉換成字元串的格式,常用的格式化字元有:
- %Y: 年份,如2021
- %m: 月份,如06
- %d: 日份,如29
- %H: 小時,如15
- %M: 分鐘,如50
- %S: 秒數,如10
三、時間操作函數
1. 時間戳轉字元串
將時間戳轉換成字元串時間,可以用localtime()函數獲取當前時間的struct_time時間元組對象,然後再用strftime()函數進行格式化。
import time
time_now = time.time()
time_tuple = time.localtime(time_now)
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time_tuple)
print("當前時間為:", time_str)
輸出結果:
當前時間為: 2021-06-29 15:50:10
2. 字元串轉時間戳
將字元串時間轉換成時間戳,可以用mktime()函數。
import time
time_str = "2021-06-29 15:50:10"
time_tuple = time.strptime(time_str,'%Y-%m-%d %H:%M:%S')
time_stamp = time.mktime(time_tuple)
print("當前時間戳為:", time_stamp)
輸出結果:
當前時間戳為: 1624905010.0
3. 時間加減運算
可以使用timedelta()函數對日期和時間進行加減運算。
import datetime
time_now = datetime.datetime.now()
print("當前時間為:", time_now)
# 加5天
next_day = time_now + datetime.timedelta(days=5)
print("5天後的時間為:", next_day)
# 加2小時
next_hour = time_now + datetime.timedelta(hours=2)
print("2小時後的時間為:", next_hour)
輸出結果:
當前時間為: 2021-06-29 15:50:10.727981
5天後的時間為: 2021-07-04 15:50:10.727981
2小時後的時間為: 2021-06-29 17:50:10.727981
4. 計算時間差
可以用datetime對象相減的方式計算出時間差。
import datetime
time1 = datetime.datetime(2021, 6, 29, 15, 50, 10)
time2 = datetime.datetime(2021, 6, 28, 14, 30, 20)
time_delta = time1 - time2
print("時間差為:", time_delta)
輸出結果:
時間差為: 1 day, 1:19:50
四、時區處理
Python中的datetime對象默認是本地時間,如果想要切換時區,可以使用pytz模塊。
import datetime
import pytz
local_time = datetime.datetime.now()
print("本地時間:" , local_time)
# 設置時區為紐約(UTC-4)
nyc_time = local_time.astimezone(pytz.timezone('America/New_York'))
print("紐約時間:", nyc_time)
# 設置時區為中國(UTC+8)
china_time = local_time.astimezone(pytz.timezone('Asia/Shanghai'))
print("中國時間:", china_time)
輸出結果:
本地時間: 2021-06-29 15:50:10.737357
紐約時間: 2021-06-29 11:50:10.737357-04:00
中國時間: 2021-06-29 23:50:10.737357+08:00
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/290803.html