• 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)
    

      执行结果

  • 相关阅读:
    浅谈观察者设计模式
    关于如何成为专家(1)
    微信小程序 PHP后端form表单提交实例详解
    mysql中的union和order by、limit
    SQL的各种连接(cross join、inner join、full join)的用法理解
    mysql数据库创建、删除数据库
    PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP 未声明(在此函数内第一次使用) 规格严格
    TroubleshootingGuide for JavaTM SE 6withHotSpot TM VM (翻译附录未完待续) 规格严格
    关闭URLClassLoader打开的jar包 规格严格
    两个长度分析【POST|GET】 规格严格
  • 原文地址:https://www.cnblogs.com/sky-k/p/11384418.html
Copyright © 2020-2023  润新知