Python中生成13位時間戳的常見方法
在Python中生成13位毫秒級時間戳(Unix時間戳)可通過以下方法實現(xiàn):
基礎(chǔ)方法(推薦)
import time
timestamp_13 = int(time.time() * 1000)
print(f"13位時間戳: {timestamp_13}")
# 示例輸出:1762240149800
時區(qū)敏感型方法
from datetime import datetime
import time
# 獲取當前時間(帶時區(qū)信息)
now_with_tz = datetime.now().astimezone()
timestamp_13 = int(now_with_tz.timestamp() * 1000)
print(f"帶時區(qū)的13位時間戳: {timestamp_13}")
UTC時間方法
from datetime import datetime
utc_now = datetime.utcnow()
timestamp_13 = int(utc_now.timestamp() * 1000)
print(f"UTC時間的13位時間戳: {timestamp_13}")
關(guān)鍵說明
1.精度說明
13位時間戳精度為毫秒,10位為秒級。1762240149800表示從1970-01-01 00:00:00 UTC開始經(jīng)過的毫秒數(shù)。
2.時區(qū)處理
time.time()返回UTC時間戳(與系統(tǒng)時區(qū)無關(guān))- 帶時區(qū)的方法適用于需要明確時區(qū)信息的場景
3.性能對比
import timeit
# 基礎(chǔ)方法性能
timeit.timeit('int(time.time()*1000)', number=1000000, globals=globals())
# 輸出約0.2秒(100萬次調(diào)用)
方法擴展
Python中獲取13位和10位時間戳的方法
1. 獲取當前時間戳
13位時間戳(毫秒級)
import time
import datetime
# 方法1:使用time模塊
timestamp_13_1 = int(time.time() * 1000)
print("13位時間戳(方法1):", timestamp_13_1)
# 方法2:使用datetime模塊
timestamp_13_2 = int(datetime.datetime.now().timestamp() * 1000)
print("13位時間戳(方法2):", timestamp_13_2)
10位時間戳(秒級)
# 方法1:使用time模塊
timestamp_10_1 = int(time.time())
print("10位時間戳(方法1):", timestamp_10_1)
# 方法2:使用datetime模塊
timestamp_10_2 = int(datetime.datetime.now().timestamp())
print("10位時間戳(方法2):", timestamp_10_2)
2. 將時間戳轉(zhuǎn)換為可讀時間
# 13位時間戳轉(zhuǎn)可讀時間
timestamp_13 = int(time.time() * 1000)
readable_time_13 = datetime.datetime.fromtimestamp(timestamp_13 / 1000).strftime('%Y-%m-%d %H:%M:%S.%f')
print("13位時間戳轉(zhuǎn)可讀時間:", readable_time_13)
# 10位時間戳轉(zhuǎn)可讀時間
timestamp_10 = int(time.time())
readable_time_10 = datetime.datetime.fromtimestamp(timestamp_10).strftime('%Y-%m-%d %H:%M:%S')
print("10位時間戳轉(zhuǎn)可讀時間:", readable_time_10)
3. 將日期字符串轉(zhuǎn)換為時間戳
from datetime import datetime
date_str = "2023-01-01 12:00:00"
# 轉(zhuǎn)換為10位時間戳(秒級)
timestamp_10 = int(datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S").timestamp())
print("日期字符串轉(zhuǎn)10位時間戳:", timestamp_10)
# 轉(zhuǎn)換為13位時間戳(毫秒級)
timestamp_13 = int(datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S").timestamp() * 1000)
print("日期字符串轉(zhuǎn)13位時間戳:", timestamp_13)
注意事項:
時間戳的精度:
- 10位時間戳表示秒級精度
- 13位時間戳表示毫秒級精度
時區(qū)問題:
- Python的
time.time()和datetime.now()返回的是本地時間 - 如果需要UTC時間,可以使用
datetime.datetime.utcnow()
跨平臺兼容性:
這些方法在Windows、Linux和macOS上都能正常工作
大數(shù)處理:
對于非常大的時間戳(如超過32位整數(shù)范圍),確保使用Python 3的int類型
完整示例代碼
import time
import datetime
def get_timestamps():
# 獲取當前時間戳
now = datetime.datetime.now()
# 13位時間戳(毫秒級)
timestamp_13 = int(now.timestamp() * 1000)
# 10位時間戳(秒級)
timestamp_10 = int(now.timestamp())
# 轉(zhuǎn)換為可讀時間
readable_13 = now.strftime('%Y-%m-%d %H:%M:%S.%f')
readable_10 = now.strftime('%Y-%m-%d %H:%M:%S')
print(f"當前時間: {now}")
print(f"13位時間戳: {timestamp_13}")
print(f"10位時間戳: {timestamp_10}")
print(f"13位時間戳對應(yīng)時間: {readable_13}")
print(f"10位時間戳對應(yīng)時間: {readable_10}")
# 示例:將日期字符串轉(zhuǎn)換為時間戳
date_str = "2023-01-01 12:00:00"
dt = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(f"\n日期字符串 '{date_str}' 轉(zhuǎn)換為:")
print(f"10位時間戳: {int(dt.timestamp())}")
print(f"13位時間戳: {int(dt.timestamp() * 1000)}")
if __name__ == "__main__":
get_timestamps()
運行這段代碼將輸出當前時間的時間戳以及如何將日期字符串轉(zhuǎn)換為時間戳的示例。
注意事項
跨平臺兼容性:所有方法均兼容Windows/Linux/macOS
時間精度:系統(tǒng)時間精度可能影響最后幾位數(shù)字
閏秒處理:時間戳計算不包含閏秒調(diào)整
時間戳轉(zhuǎn)換示例
import datetime
# 轉(zhuǎn)換回可讀時間
def timestamp_to_str(timestamp_13):
dt = datetime.datetime.utcfromtimestamp(timestamp_13 / 1000)
return dt.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3]
print(timestamp_to_str(1762240149800))
# 輸出:2025-11-04 14:02:29.800
這些方法覆蓋了從基礎(chǔ)到進階的時間戳處理需求,可根據(jù)具體場景選擇最適合的方案。
到此這篇關(guān)于Python中生成13位時間戳的常見方法的文章就介紹到這了,更多相關(guān)Python生成時間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬蟲使用瀏覽器cookies:browsercookie過程解析
這篇文章主要介紹了Python爬蟲使用瀏覽器cookies:browsercookie,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
用Python+OpenCV對比圖像質(zhì)量的幾種方法
這篇文章主要介紹了用Python+OpenCV對比圖像質(zhì)量過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
使用pandas模塊實現(xiàn)數(shù)據(jù)的標準化操作
這篇文章主要介紹了使用pandas模塊實現(xiàn)數(shù)據(jù)的標準化操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5
這篇文章主要介紹了python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
python Pygal庫生成SVG(可縮放矢量圖形)圖表示例
這篇文章主要為大家介紹了python Pygal庫生成SVG(可縮放矢量圖形)圖表示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring)
本文主要介紹了Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

