一、前言
在開發中,我們經常會遇到時間戳轉換日期,或者日期轉換為時間戳;
日期格式: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)
執行結果

