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位時間戳對應時間: {readable_13}")
print(f"10位時間戳對應時間: {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數(shù)據(jù)類型之String字符串實例詳解
這篇文章主要介紹了Python數(shù)據(jù)類型之String字符串,結(jié)合實例形式詳細講解了Python字符串的概念、定義、連接、格式化、轉(zhuǎn)換、查找、截取、判斷等常見操作技巧,需要的朋友可以參考下2019-05-05
Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時間格式的方法
這篇文章主要介紹了Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時間格式的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
django echarts餅圖數(shù)據(jù)動態(tài)加載的實例
今天小編就為大家分享一篇django echarts餅圖數(shù)據(jù)動態(tài)加載的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
python3編寫ThinkPHP命令執(zhí)行Getshell的方法
這篇文章主要介紹了python3編寫ThinkPHP命令執(zhí)行Getshell的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
淺談Django中的數(shù)據(jù)庫模型類-models.py(一對一的關(guān)系)
今天小編就為大家分享一篇淺談Django中的數(shù)據(jù)庫模型類-models.py(一對一的關(guān)系),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python執(zhí)行js腳本報錯CryptoJS is not defined問題
這篇文章主要介紹了python執(zhí)行js腳本報錯CryptoJS is not defined問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

