Python3 日期與時間戳互相轉換(函數可調用)


一、前言

  在開發中,我們經常會遇到時間戳轉換日期,或者日期轉換為時間戳;

  日期格式: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)

  執行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM