前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python 时间格式(时间戳–格式化时间)的互相转换

python 时间格式(时间戳–格式化时间)的互相转换

作者头像
全栈程序员站长
发布2022-07-08 13:00:19
发布2022-07-08 13:00:19
4.8K00
代码可运行
举报
运行总次数:0
代码可运行

python中经常得面临着各种时间格式的相互转换。

下面介绍一些常用的时间格式转换:

一、时间戳格式转换为格式化时间

第一种方法 使用time模块进行转换

代码语言:javascript
代码运行次数:0
运行
复制
import time   # 导入第三方库

获取三个不同格式的时间(时间戳、结构化时间、格式化时间)

代码语言:javascript
代码运行次数:0
运行
复制
# 时间戳
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模块中需要把时间戳转换为格式化时间,需要使用到第三介质(结构化时间)进行间接转换,并不能做到直接转换;

代码语言:javascript
代码运行次数:0
运行
复制
# 把时间戳转换为格式化时间
time_struct = time.localtime(time_stamp)    # 首先把时间戳转换为结构化时间
time_format = time.strftime("%Y-%m-%d %H-%M-%S",time_struct)        # 把结构化时间转换为格式化时间
print(time_format)

第二种方法 使用第三方库datetime

代码语言:javascript
代码运行次数:0
运行
复制
import datetime

转化时间戳为格式化时间

代码语言:javascript
代码运行次数:0
运行
复制
time_format = datetime.datetime.fromtimestamp(time_stamp)  # 直接传入时间戳格式时间
print(time_format)

总结:使用time模块进行格式转化,比较麻烦,但是转换为格式化的时间格式可以自定义,格式多样性;使用datetime第三方库进行时间格式转换,比较简单直接,但是格式固定,不能进行更改。

二、格式化时间转换为时间戳格式

使用time模块进行转换

代码语言:javascript
代码运行次数:0
运行
复制
import time   # 导入第三方库

获取三个不同格式的时间(时间戳、结构化时间、格式化时间)

代码语言:javascript
代码运行次数:0
运行
复制
# 时间戳
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)

把格式化时间转换为时间戳需要注意的是,格式化时间的格式是什么就必须在转换函数中输入对应的格式。

代码语言:javascript
代码运行次数:0
运行
复制
# 把格式化时间转换为时间戳时间
time_struct = time.strptime(time_format,"%Y-%m-%d %H-%M-%S")   # 首先把格式化时间转换为结构化时间
time_stamp = time.mktime(time_struct)
print(time_stamp)

使用time对格式化时间进行转换时候必须填入对应的格式中time.strptime()中。

提示: 结构化时间中各个时间变量内容对应的含义(参考):

代码语言:javascript
代码运行次数:0
运行
复制
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 */
        };

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115157.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年11月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、时间戳格式转换为格式化时间
  • 二、格式化时间转换为时间戳格式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档