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

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

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 */
        };
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java渗透测试框架_java编程

    java渗透测试框架_java编程(7)sqlmap(python脚本学习下)经典sql注入工具(这种针对参数的工具,不知道是不是扫描方式有问题,还是怎么着,怎么才能抓几个包,或者把常用点的包抓出来)抓几个sqlmap的包sqlmap功能很强大,这里就抓了一个结合burpsuitePOSTsqlmap的包(也可以用Burpsuitesqlmap插件http://www.freebuf.com/tools/6426.html)命令:…

    2022年8月12日
    3
  • transactionscope mysql_TransactionScope事务对多个数据库的操作[通俗易懂]

    transactionscope mysql_TransactionScope事务对多个数据库的操作[通俗易懂].Net2.0引入了轻量级事务管理器(LighweightTransactionManager),即System.Transactions.TransactionManager。轻量级事务管理器具有最小的开销,对比使用轻量级事务管理器的事务和直接使用本地事务,并没有性能上的差别。如果一个事务里只有一个资源管理器,轻量级事务管理器可以让资源管理器来管理该事务,而轻量级事务管理器只负责监视他;如…

    2022年7月24日
    13
  • Next主题_next3d桌面主题

    Next主题_next3d桌面主题概述最近next6折腾了一段时间,最后还是回到了next5,但是添加阅读全文按钮以后,默认的摘要生成不太方便,于是就把注意打到了js上。这里整理一下next5生成摘要的方法。一、y

    2022年8月16日
    2
  • 【Java】输入—Scanner用法(全)[通俗易懂]

    【Java】输入—Scanner用法(全)[通俗易懂]Scanner用法目录1、输入整数、字符串数组2、输入二维数组3、输入字符串4、输入字符串分割为数组5、连续输入数字和字符串6、换行输入数字和字符串7、换行输入数字和字符串(需要包含空格)1、输入整数、字符串数组第一行输入n,m第二行输入n个整数第三行输入m个字符串//导入包importjava.util.Scanner;import…

    2022年7月16日
    9
  • sublime 激活码【中文破解版】「建议收藏」

    (sublime 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月26日
    42
  • Android面试题之Activity篇

    Android面试题之Activity篇Activity篇目录前言一、Activity1、什么是Activity?2、请描述一下Activity生命周期3、请描述一下Activity的四个状态4、两个Activity之间传递数据,除了intent,广播接收者,contentprovider还有啥?5、Android中的Context,Activity,Appliction有什么区别?6、Context是什么?7、如何保存Activity的状态?8、横竖屏切换时Activity的生命周期9、两个Activity

    2022年5月21日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号