在python中经常得面临着各种时间格式的相互转换。
下面介绍一些常用的时间格式转换:
一、时间戳格式转换为格式化时间
第一种方法
使用time模块进行转换
import time # 导入第三方库
获取三个不同格式的时间(时间戳、结构化时间、格式化时间)
# 时间戳
time_stamp = time.time()
print(time_stamp)
# 结构化时间
time_struct = time.localtime()
print(time_struct)
# 格式化时间
time_format = time.strftime('%Y-%m-%d %H:%M:%S')
print(time_format)
在time模块中需要把时间戳转换为格式化时间,需要使用到第三介质(结构化时间)进行间接转换,并不能做到直接转换;
# 把时间戳转换为格式化时间
time_struct = time.localtime(time_stamp) # 首先把时间戳转换为结构化时间
time_format = time.strftime("%Y-%m-%d %H-%M-%S",time_struct) # 把结构化时间转换为格式化时间
print(time_format)
第二种方法
使用第三方库datetime
import datetime
转化时间戳为格式化时间
time_format = datetime.datetime.fromtimestamp(time_stamp) # 直接传入时间戳格式时间
print(time_format)
总结:使用time模块进行格式转化,比较麻烦,但是转换为格式化的时间格式可以自定义,格式多样性;使用datetime第三方库进行时间格式转换,比较简单直接,但是格式固定,不能进行更改。
二、格式化时间转换为时间戳格式
使用time模块进行转换
import time # 导入第三方库
获取三个不同格式的时间(时间戳、结构化时间、格式化时间)
# 时间戳
time_stamp = time.time()
print(time_stamp)
# 结构化时间
time_struct = time.localtime()
print(time_struct)
# 格式化时间
time_format = time.strftime('%Y-%m-%d %H:%M:%S')
print(time_format)
把格式化时间转换为时间戳需要注意的是,格式化时间的格式是什么就必须在转换函数中输入对应的格式。
# 把格式化时间转换为时间戳时间
time_struct = time.strptime(time_format,"%Y-%m-%d %H-%M-%S") # 首先把格式化时间转换为结构化时间
time_stamp = time.mktime(time_struct)
print(time_stamp)
使用time对格式化时间进行转换时候必须填入对应的格式中time.strptime()中。
提示:
结构化时间中各个时间变量内容对应的含义(参考):
struct tm {
int tm_sec; /* seconds after the minute - [0,59] */
int tm_min; /* minutes after the hour - [0,59] */
int tm_hour; /* hours since midnight - [0,23] */
int tm_mday; /* day of the month - [1,31] */
int tm_mon; /* months since January - [0,11] */
int tm_year; /* years since 1900 */
int tm_wday; /* days since Sunday - [0,6] */
int tm_yday; /* days since January 1 - [0,365] */
int tm_isdst; /* daylight savings time flag */
};
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115157.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...