欢迎来到 一木浮生 的博客

人生三重境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

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)

  执行结果

 

posted on 2019-08-20 17:38  一木浮生  阅读(14152)  评论(0编辑  收藏  举报

导航