當前位置:首頁 » 編程語言 » python時間戳轉換

python時間戳轉換

發布時間: 2023-11-01 16:55:48

A. python時間轉換為整數

最近寫的項目用到了knn模型進行預測性分析,但是需要把日期型的欄位轉為整型,換言之,就是時間戳。

將時間轉換成時間戳
例如:
將時間2019-4-13 10:02:23轉換成時間戳,具體的操作過程為:

利用strptime()函數將時間轉換成時間數組
利用mktime()函數將時間數組轉換成時間戳

import time
dt = "2019-4-13 10:02:23"
# 轉為時間數組
timeArray = time.strptime(dt,"%Y-%m-%d %H:%M:%S")
# 轉為時間戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)

B. python之time模塊

time 模塊常用的與時間相關的類和函數:

time 模塊的 struct_time 類代表一個時間對象,可以通過 索引和屬性名 訪問值。 對應關系如下:

索引 —— 屬性 值
0 —— tm_year(年) 如:1945
1 —— tm_mon(月) 1 ~ 12
2 —— tm_mday(日) 1 ~ 31
3 —— tm_hour(時) 0 ~ 23
4 —— tm_min(分) 0 ~ 59
5 —— tm_sec(秒) 0 ~ 61
6 —— tm_wday(周) 0 ~ 6
7 —— tm_yday(一年內第幾天) 1 ~ 366
8 —— tm_isdst(夏時令) -1、0、1

localtime() 表示當前時間,返回類型為 struct_time 對象 ,示例如下所示:

輸出結果:

time()——返回當前時間的時間戳
gmtime([secs])——將時間戳轉換為格林威治天文時間下的 struct_time,可選參數 secs 表示從 epoch 到現在的秒數,默認為當前時間
localtime([secs])——與 gmtime() 相似,返回當地時間下的 struct_time
mktime(t) localtime() 的反函數
asctime([t]) 接收一個 struct_time 表示的時間,返回形式為:Mon Dec 2 08:53:47 2019 的字元串
ctime([secs]) ctime(secs) 相當於 asctime(localtime(secs))
strftime(format[, t]) 格式化日期,接收一個 struct_time 表示的時間,並返回以可讀字元串表示的當地時間
sleep(secs) 暫停執行調用線程指定的秒數
altzone 本地 DST 時區的偏移量,以 UTC 為單位的秒數
timezone 本地(非 DST)時區的偏移量,UTC 以西的秒數(西歐大部分地區為負,美國為正,英國為零)
tzname 兩個字元串的元組:第一個是本地非 DST 時區的名稱,第二個是本地 DST 時區的名稱

基本使用如下所示:

strftime 函數日期格式化符號說明如下所示:

C. python根據時間戳獲取時分秒

時間戳可簡單理解為自1970/01/01/ 00:00:00 到現在經過的秒數,如果要計算日期運算,因為涉及到潤年,一般使用語言自帶的庫實現比較簡單和高效。但如果只是取時間即時分秒,完全可以不用依賴庫,通過模運算和取整運算的方式實現,並且性能比內部庫函數效率更高。

運行結果,100萬次

1000萬次

性能快了接近200%,如果有涉及到大數據分析場景,百萬甚至千萬級別次的調用時,該演算法還是有意義的

D. python中怎麼把datetime類型轉換成timestamp

Python3.6.4(v3.6.4:d48ecebad5,Dec182017,21:07:28)
[GCC4.2.1(AppleInc.build5666)(dot3)]ondarwin
Type"help","right","credits"or"license"formoreinformation.
>>>importtime
>>>fromdatetimeimportdatetime
>>>now=datetime.now()
>>>timestamp=int(time.mktime(now.timetuple()))
>>>timestamp
1520493295
>>>timestamp_microsecond=float('{}{:06}'.format(timestamp,now.microsecond))/1000000
>>>timestamp_microsecond
1520493295.337066

E. python怎麼將時間戳轉化為日期

當前時間戳:time.time()
當前日期:time.ctime()
1、Python下日期到時間戳的轉換
import datetime
import time
dateC=datetime.datetime(2010,6,6,8,14,59)
timestamp=time.mktime(dateC.timetuple())
print timestamp

2、Python下將時間戳轉換到日期
import datetime
import time
ltime=time.localtime(1395025933)
timeStr=time.strftime("%Y-%m-%d %H:%M:%S", ltime)
print timeStr

F. Python基礎編程——標准庫之fileinput與time模塊

在前一節我們介紹了標准庫的sys模塊和os模塊,本節將介紹標准庫的fileinput模塊和time模塊。

fileinput模塊能夠讓我們輕松地迭代一系列文本文件中的行。

fileinput模塊中一些重要的函數,也是我們在實際開發中需要經常用到的,具體如下表所示:

fileinput.input(): fileinput模塊中最重要的函數,它返回一個可在for循環中進行迭代的對象。

fileinput. filename(): 返回當前文件(即正在處理的行所屬的文件)的文件名。

fileinput. lineno(): 返回當前行的編號。

fileinput. filelineno(): 返回當前行在當前文件中的行號。

fileinput. isfirstline(): 在當前行為當前文件中的第一行時返回True,否則返回False。

fileinput. isstdin():在當前文件為sys.stdin時返回True,否則返回False。

fileinput. nextfile():關閉當前文件並跳到下一個文件,且計數時忽略跳過的行。

fileinput. close():關閉整個文件鏈並結束迭代。

上面關於介紹的fileinput模塊中的函數的實例用法如下my_fileinput.py程序所示:

time模塊包含用於獲取當前時間、操作時間和日期、從字元串中讀取日期、將日期格式化為字元串的函數。日期可表示為實數,也可表示為包含9個整數的元組。例如,元組(2021, 6, 8, 22, 13, 56, 1, 21, 0)表示2021年6月8日22時13分56秒。日期元組中各欄位含義如下表所示:

秒的取值范圍為0~61,這考慮到了閏一秒和閏兩秒的情況。夏令時數字是一個布爾值(True或False),但如果你使用-1,那麼mktime[將時間元組轉換為時間戳(從新紀元開始後的秒數)的函數]可能得到正確的值。

模塊time中有一些重要的函數,也是我們在實際開發中需要經常用到的,具體如下表所示:

time.asctime(): 將當前的時間轉換成字元串形式,如果不想使用當前時間,也可以傳遞一個時間元組作為參數。如果要使用更復雜的時間格式化,可以使用strftime()函數。

time.localtime(): 將一個實數轉換成時間元組(這里是本地時間),如果要轉換成國際標准時間,應該使用time.gmtime()函數。需要注意這里的實數是一個從新紀元開始後的秒數,世界新紀元指的是 1970年1月1日0時0分0秒,如果是本地新紀元的話,需要加上本地的時區時間。

time.mktime(): 將時間元組轉換成從新紀元開始後的描述,這與time.local()函數功能相反。

time.sleep(): 讓解釋器等待指定的秒數,即程序暫停指定的秒數。

time.strftime(): 將時間元組按照指定的格式轉換成字元串格式。常用的格式符有:%Y表示年,%m表示月,%d表示日,%H表示時,%M表示分,%S表示秒。更多格式符可參考官方標准文檔。

上面關於介紹的time模塊中的函數的實例用法如下my_time.py程序所示:

注意:另外還有兩個較新的關於時間的模塊:datetime和timeit,大家可執行查閱相關文檔。

本節主要介紹了以下內容:

如果有需要文中小程序的可以私信我喲!

歡迎大家轉發、評論!

#Python# #python# #Python基礎# #python打卡# #Python編程從入門到實踐#

G. python能把正常時間轉化成毫秒級別的時間戳嗎

可以,需要乘以1000,比如

importtime
printtime.time()*1000#這個就是毫秒級別的時間戳,不乘以1000就是秒級時間戳

又如正常時間轉換為時間戳,下面的例子需要你安裝時間擴展arrow,安裝方法很簡單

pip install arrow,這都是廢話了,下面上例子

importarrow
datetime="2016-12-2222:30:50+08:00"
printarrow.get(datetime).timestamp#這個是秒級別的時間戳,乘以1000就是毫秒級別的時間戳了
熱點內容
說話加密 發布:2025-01-31 14:02:28 瀏覽:552
android倉庫管理系統 發布:2025-01-31 14:02:27 瀏覽:700
batsql語句 發布:2025-01-31 14:00:13 瀏覽:733
沈陽加密狗 發布:2025-01-31 13:54:58 瀏覽:705
聯想伺服器怎麼裝windows7 發布:2025-01-31 13:54:52 瀏覽:874
java二級考試歷年真題 發布:2025-01-31 13:50:31 瀏覽:171
編程一刻 發布:2025-01-31 13:36:44 瀏覽:585
編程小草出土 發布:2025-01-31 13:33:27 瀏覽:579
如何設置伺服器屏蔽你的ip 發布:2025-01-31 13:25:58 瀏覽:243
扣扣的獨立密碼是什麼密碼 發布:2025-01-31 13:23:42 瀏覽:132