篇首语:本文由小编为大家整理,主要介绍了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: PyCharmimport 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 = 1564588800def 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)
执行结果
以上是关于Python3 日期与时间戳互相转换(函数可调用)的主要内容,如果未能解决你的问题,请参考以下文章