Python時(shí)間戳與日期格式之間相互轉(zhuǎn)化的詳細(xì)教程
緒論
java默認(rèn)精度是毫秒級(jí)別的,生成的時(shí)間戳是13位,而python默認(rèn)是10位的,精度是秒。那么python是如何生成13位時(shí)間戳,以及時(shí)間戳如何轉(zhuǎn)換為日期(年-月-日 時(shí)-分-秒)
- 13位是毫秒時(shí)間戳(難點(diǎn): 輸入毫秒級(jí)的時(shí)間,轉(zhuǎn)出正常格式的時(shí)間)
- 10位是秒時(shí)間戳。
Python實(shí)現(xiàn)【時(shí)間戳】與【日期格式】之間相互轉(zhuǎn)化的應(yīng)用函數(shù)匯總表:
| Python函數(shù) | 功能 | 示例 |
|---|---|---|
| time.time() | 獲取當(dāng)前時(shí)間 | 1655179674.911647 |
int(time.time()) | 獲取精確到秒時(shí)間戳,10位 | 1655179674 |
int(round(time.time() * 1000)) | 獲取精確毫秒時(shí)間戳,13位 | 1655179674912 |
time.localtime(k1) | 將10位時(shí)間戳k1轉(zhuǎn)為日期格式 | time.struct_time(tm_year=2022, tm_mon=6, tm_mday=11, tm_hour=18, tm_min=19, tm_sec=48, tm_wday=5, tm_yday=162, tm_isdst=0) |
time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime(k1)) | 將10位時(shí)間戳k1轉(zhuǎn)為【年-月-日 時(shí)-分-秒】日期格式 | 2019-09-02 16:19:35 |
time.localtime(k1/1000) | 將13位時(shí)間戳k1轉(zhuǎn)為日期格式 | time.struct_time(tm_year=2022, tm_mon=6, tm_mday=11, tm_hour=18, tm_min=19, tm_sec=48, tm_wday=5, tm_yday=162, tm_isdst=0) |
time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime(k1/1000)) | 將13位時(shí)間戳k1轉(zhuǎn)為【年-月-日 時(shí)-分-秒】日期格式 | 2019-09-02 16:19:35 |
一、獲取當(dāng)前日期,轉(zhuǎn)為10位或13位時(shí)間戳
- 自定義函數(shù)1 get_second():python獲取精確到秒時(shí)間戳,10位
- 自定義函數(shù)2 get_millisecond():python獲取精確毫秒時(shí)間戳,13位
- 自定義函數(shù)3 get_delta(t1,t2):兩個(gè)時(shí)間戳相減,返回秒數(shù)
# -*- coding:utf-8 -*-
import time
# 獲取當(dāng)前日期,轉(zhuǎn)為10位時(shí)間戳格式
def get_second():
"""
:return: 獲取精確到秒時(shí)間戳,10位
"""
return int(time.time())
# 獲取當(dāng)前日期,轉(zhuǎn)為13位時(shí)間戳格式
def get_millisecond():
"""
:return: 獲取精確毫秒時(shí)間戳,13位
"""
millis = int(round(time.time() * 1000))
return millis
# 兩個(gè)13位的時(shí)間戳相減,返回秒數(shù)
def get_delta(t1,t2):
"""
:param t1: 13位時(shí)間戳
:param t2: 13位時(shí)間戳
:return: 兩個(gè)時(shí)間戳相減,返回秒數(shù)
"""
res=int((t2 - t1)/1000)
return res
if __name__ == "__main__":
print(get_second()) # 獲取當(dāng)前時(shí)間,并轉(zhuǎn)為10位時(shí)間戳格式
>>>
1655179674
print(time.time()) # 直接打印全量精度的時(shí)間戳
>>>
1655179674.911647
time1=get_millisecond()
print(time1) # 獲取當(dāng)前時(shí)間,并轉(zhuǎn)為13位時(shí)間戳格式
>>>
1655179674912
# 兩個(gè)13位時(shí)間戳作差運(yùn)算
k1=1567412375458
k2=1567412395853
now = int(round(time.time() * 1000))
print(now)
>>>
1655179674913
t1 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(k1/1000))
t2=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(k2/1000))
print(t1)
>>>
2019-09-02 16:19:35
print(t2)
>>>
2019-09-02 16:19:55
print(get_delta(k1,k2))
>>>
20
二、將10位或13位時(shí)間戳轉(zhuǎn)為日期格式(年-月-日 時(shí)-分-秒)
函數(shù)4 millisecond_to_time(millis):13位時(shí)間戳轉(zhuǎn)換為日期格式字符串
import time
# 輸入毫秒級(jí)的時(shí)間,轉(zhuǎn)出正常格式的時(shí)間
def timeStamp(timeNum):
timeStamp = float(timeNum/1000)
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
time_st = 1654942788469 # 隨機(jī)指定時(shí)間戳
timeStamp(time_st) # 調(diào)用函數(shù)
>>>
2022-06-11 18:19:48
參考鏈接:【1】在線時(shí)間轉(zhuǎn)換工具:http://tools.jb51.net/code/unixtime
總結(jié)
到此這篇關(guān)于Python時(shí)間戳與日期格式之間相互轉(zhuǎn)化的文章就介紹到這了,更多相關(guān)Python時(shí)間戳與日期格式轉(zhuǎn)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
海王小姐姐悄悄問(wèn)我怎么在PC端登錄多個(gè)微信
這篇文章主要介紹了怎么在PC端登錄多個(gè)微信號(hào),眾所周知pc端一般只能登陸一個(gè)微信號(hào),可這年頭誰(shuí)還只有一個(gè)號(hào),又不能同時(shí)用兩臺(tái)電腦,這篇文章帶給你答案2021-08-08
Python字符串對(duì)象實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Python字符串對(duì)象實(shí)現(xiàn)原理詳解,在Python世界中將對(duì)象分為兩種:一種是定長(zhǎng)對(duì)象,比如整數(shù),整數(shù)對(duì)象定義的時(shí)候就能確定它所占用的內(nèi)存空間大小,另一種是變長(zhǎng)對(duì)象,在對(duì)象定義時(shí)并不知道是多少,需要的朋友可以參考下2019-07-07
Python PIL庫(kù)Image函數(shù)的基本圖像處理操作實(shí)例
這篇文章主要為大家介紹了Python PIL庫(kù)Image函數(shù)的基本圖像處理操作實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python環(huán)境搭建過(guò)程從安裝到Hello World
這篇文章主要介紹了Python環(huán)境搭建過(guò)程從安裝到Hello World,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
在python中將字符串轉(zhuǎn)為json對(duì)象并取值的方法
今天小編就為大家分享一篇在python中將字符串轉(zhuǎn)為json對(duì)象并取值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

