zoukankan      html  css  js  c++  java
  • 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)
    

      执行结果

  • 相关阅读:
    NOIP2011 D1T1 铺地毯
    NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
    POJ 2513 trie树+并查集判断无向图的欧拉路
    599. Minimum Index Sum of Two Lists
    594. Longest Harmonious Subsequence
    575. Distribute Candies
    554. Brick Wall
    535. Encode and Decode TinyURL(rand and srand)
    525. Contiguous Array
    500. Keyboard Row
  • 原文地址:https://www.cnblogs.com/sky-k/p/11384418.html
Copyright © 2011-2022 走看看