在Python編程中,處理日期和時間是一個常見的任務。time模塊提供了一系列的函數來執行與時間相關的操作。本文將通過一個簡單的示例來介紹如何獲取當前時間戳,轉換為本地時間,並格式化時間字符串。
1. 獲取當前時間戳
時間戳是自1970年1月1日(UTC)以來的秒數,它是一個浮點數。使用time.time()函數可以獲取當前時間戳。
import time
timestamp = time.time()
print(timestamp)
輸出釋例: 1707560461.7108967
- 轉換時間戳為本地時間
獲取到的時間戳可以轉換為更易讀的時間格式。time.localtime()函數接受一個時間戳,並返回一個struct_time對象,這個對象包含了年、月、日等信息。
localtime = time.localtime(timestamp)
print(localtime)
輸出示例:
time.struct_time(tm_year=2024, tm_mon=2, tm_mday=10, tm_hour=18, tm_min=21, tm_sec=1, tm_wday=5, tm_yday=41, tm_isdst=0)
- 格式化時間
要將struct_time對象或時間戳格式化為易讀的字符串,可以使用time.strftime()函數。這個函數接受兩個參數:格式字符串和要格式化的時間(默認為當前時間)。注意,正確的使用方式是將格式字符串作為第一個參數。
strftime = time.strftime('%Y-%m-%d %H:%M:%S', localtime)
print(strftime)
這會輸出類似2024-02-10 18:14:52的格式化時間字符串。
常見錯誤
在嘗試使用time.strftime()時,可能會遇到幾種類型的錯誤,主要是因為參數類型不匹配或者函數使用不當。例如:
嘗試直接格式化時間戳會導致TypeError,因為strftime()的第二個參數應該是struct_time對象或省略(默認為當前時間),而不是浮點數。
錯誤地使用time.strtime(應該是strftime),這會導致AttributeError,因為time模塊沒有strtime這個屬性。
輸出結果:
code:
import time
# 获取当前时间戳
timestamp = time.time()
# 转换时间戳为本地时间
localtime = time.localtime(timestamp)
# 格式化时间
strftime = time.strftime('%Y-%m-%d %H:%M:%S', localtime)
print(strftime)
這段代碼展示了如何從獲取當前時間戳開始,經過轉換和格式化,最終得到易讀的時間字符串,避免了之前提到的錯誤用法。希望這篇簡短的教學文章能幫助你更好地理解和使用Python的time模塊進行時間處理。
輸出結果:
time.strftime?
code:
# -*- coding: utf-8 -*-
"""
Created on Sat Feb 10 19:15:26 2024
@author: SavingKing
"""
import time
def timestamp2strftime(timestamp:float = time.time()):
localtime=time.localtime(timestamp)
fmt = "_%y%m%d_%H%M%S"
strftime = time.strftime(fmt,localtime)
return strftime
strftime = timestamp2strftime()
print(strftime)
輸出結果:
可以接在檔名之後,
不同時間點產出的檔案
就不會被覆蓋
推薦hahow線上學習python: https://igrape.net/30afN
近期留言