一、前言
在開發中,我們經常會遇到時間戳轉換日期,或者日期轉換為時間戳;
日期格式:2019-08-01 00:00:00
時間戳格式:1564588800
關於時間戳
Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。Unix時間戳不僅被使用在Unix系統、類Unix系統中(比如Linux系統),也在許多其他操作系統中被廣泛采用。
二、代碼實現
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/8/20 14:09 # @Author : admin # @Site : # @File : time_api.py # @Software: PyCharm import time ''' 常規時間轉換為時間戳 ''' test1 = '2019-8-01 00:00:00' def time_data1(time_sj): #傳入單個時間比如'2019-8-01 00:00:00',類型為str data_sj = time.strptime(time_sj,"%Y-%m-%d %H:%M:%S") #定義格式 time_int = int(time.mktime(data_sj)) return time_int #返回傳入時間的時間戳,類型為int ''' 時間戳轉換年月日時間格式 ''' test2 = 1564588800 def time_data2(time_sj): #傳入參數 data_sj = time.localtime(time_sj) time_str = time.strftime("%Y-%m-%d %H:%M:%S",data_sj) #時間戳轉換正常時間 return time_str #返回日期,格式為str
以上函數已經實現日期與時間戳的互相轉換,並在調用函數后返回指定的格式數據。
if __name__ == '__main__': test1 = '2019-8-01 00:00:00' test2 = 1564588800 time1_def = time_data1(test1) print('函數一將日期轉換為時間戳----->:',time1_def) time2_def = time_data2(test2) print('函數二將時間戳轉換為常規日期----->:',time2_def)
執行結果
三、擴展
將時間戳以列表的形式傳入,傳入一個列表。在以列表的形式返回;
def time_data3(L=[]): #傳入列表參數 time_li = [] for i in L: time_int = i time_sj = time.localtime(time_int) time_str = time.strftime("%Y-%m-%d %H:%M:%S",time_sj) #時間戳轉換正常時間 time_li.append(time_str) return time_li #返回列表
函數調用
if __name__ == '__main__': test1 = '2019-8-01 00:00:00' test2 = 1564588800 time1_def = time_data1(test1) print('函數一將日期轉換為時間戳----->:',time1_def) time2_def = time_data2(test2) print('函數二將時間戳轉換為常規日期----->:',time2_def) test3 = [1564102800, 1564135200, 1564362000, 1564394400, 1564448400, 1564480800, 1564534800, 1564567200] time3_def = time_data3(test3) print('函數三傳入參數列表實現時間戳批量轉換日期----->:',time3_def)
執行結果