iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python常用时间库time、datetime与时间格式之间如何转换
  • 105
分享到

python常用时间库time、datetime与时间格式之间如何转换

2023-07-05 03:07:55 105人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python常用时间库time、datetime与时间格式之间如何转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“P

这篇“python常用时间库time、datetime与时间格式之间如何转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python常用时间库time、datetime与时间格式之间如何转换”文章吧。

    一,python中储存时间的三种格式

    1,时间元组(结构体时间)

    共有九个元素组

    python常用时间库time、datetime与时间格式之间如何转换

    2,时间戳

    时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

    3,格式化时间

    已格式化的结构使时间更具可读性。包括自定义格式和固定格式。

    二、time库

    1,time.time()

    创建时间戳
    返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

    import time# 返回当前时间的时间戳(1970纪元后经过的浮点秒数)。temp = time.time()print(temp,type(temp))# -----out------# 1567667448.120967 <class 'float'>

    2,time.localtime([ sec ])

    创建结构体时间 | 将时间戳转换为结构体时间(本地)
    格式化时间戳为本地的时间,返回结构体时间。若sec参数未输入,则以当前时间为转换。

    import time# 1,localtime中加入时间戳参数temp = time.time()# localtime输入时间戳参数,将时间戳转化为本地时间locaoltime = time.localtime(temp)print(locaoltime,type(locaoltime))time.sleep(3)# 2,localtime未输入参数时,默认为当时时间print(time.localtime(),type(time.localtime()))# -----out------# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=15, tm_min=44, tm_sec=4, tm_wday=3, tm_yday=248, tm_isdst=0) <class 'time.struct_time'># time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=15, tm_min=44, tm_sec=7, tm_wday=3, tm_yday=248, tm_isdst=0) <class 'time.struct_time'>

    3,time gmtime([ sec ])

    将时间戳转换为结构体时间(0时区)
    将一个时间戳转换为UTC时区(0时区)的struct_time,可选的参数sec表示从1970-1-1以来的秒数。其默认值为time.time(),函数返回time.struct_time类型的对象。(struct_time是在time模块中定义的表示时间的对象)。

    import timetemp = time.time()# localtime输入时间戳参数,将时间戳转化为本地时间print(time.localtime(temp),type(time.localtime(temp)))# gmtimee输入时间戳参数,将时间戳转换为UTC时区print(time.gmtime(temp),type(time.gmtime(temp)))# -----out------# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=17, tm_min=8, tm_sec=57, tm_wday=3, tm_yday=248, tm_isdst=0) <class 'time.struct_time'># time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=9, tm_min=8, tm_sec=57, tm_wday=3, tm_yday=248, tm_isdst=0) <class 'time.struct_time'>

    4,time.strftime(fORMat[, t])

    将结构体时间转换为字符串
    输入结构体时间,输出为按照输入的格式的字符串

    import time# 输入结构体时间,输出为按照输入的格式的字符串temps = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print(temps,type(temps))# -----out------# 2019-09-05 17:12:34 <class 'str'>

    5,time.strptime(string[, format])

    将字符串转换为结构体时间
    根据指定的格式把一个时间字符串解析为结构体时间。

    import time# 输入结构体时间,输出为按照输入的格式的字符串temps = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print(temps,type(temps))strs = temps# 输入字符串,按照参数指定格式,输出结构体时间temps = time.strptime( strs,"%Y-%m-%d %H:%M:%S")print(temps,type(temps))# -----out------# 2019-09-05 16:20:58 <class 'str'># time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=16, tm_min=20, tm_sec=58, tm_wday=3, tm_yday=248, tm_isdst=-1) <class 'time.struct_time'>

    6,time mktime(t)

    将结构体时间转换为时间戳 接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。
    如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。

    import time# 输入结构体时间,返回时间戳time_temps = time.mktime(time.localtime())print(time_temps,type(time_temps))# -----out------# 1567672723.0 <class 'float'>

    7,time.sleep(nums)

    推迟执行的秒数,没有任何输出

    import time# 推迟执行的秒数,没有任何输出temp = time.sleep(3)print(temp,type(temp))# -----out------# None <class 'NoneType'>

    8,timeit.Timer.timeit([number])

    用来计算一个函数平均执行了多少时间

    coding=gbkimport timeitdef T1():    '''表内置属性'''    li = []    for i in range(1000):        li.append(i)def T2():    '''列表拼接'''    li = []    for i in range(1000):        li = li + [i]def T3():    '''列表推导式'''    li = [i for i in range(1000)]def T4():    '''属性转换'''    li = list(range(1000))if __name__ == "__main__":    test_list = ['T1()','T2()','T3()','T4()']    for i in test_list:        timer = timeit.Timer(i,"from __main__ import T1,T2,T3,T4")        print("%s: %f seconds" % (i,timer.timeit(number=1000)))

    三,datetime库

    datetime模块包含如下类

    python常用时间库time、datetime与时间格式之间如何转换

    1,datetime.date类

    表示日期的类,常用的属性有year、month、day。参数都为整数。

    import datetimeimport time# 1,以下为两种生成日期的方式,效果一致,返回datetime类型someday = datetime.date(year=2018, month=1, day=1)someday = datetime.date(2018, 1, 1)print(someday,type(someday))# 2,以规定的格式返回日期,返回字符串类型temp = someday.strftime('/%Y/%m/%d')print(temp,type(someday))# 3,以默认的格式返回日期print(someday.isoformat())# 4,获得今天日期,返回datetime类型temp = datetime.date.today()print(temp,type(temp))# 5,根据给定的时间戮,返回一个date对象temp = datetime.date.fromtimestamp(time.time())print(temp)# -----out------# 2018-01-01 <class 'datetime.date'># /2018/01/01 <class 'datetime.date'># 2018-01-01# 2019-09-05 <class 'datetime.date'># 2019-09-05

    2,datetime.time类

    表示时间的类,参数包括hour、minute、second、microsecond。 time类的方法同datetime类。

    import datetimeimport time# 1,以下为两种生成时间的方式,效果一致,返回datetime类型someday = datetime.time(hour=12,minute=50,second=12,microsecond=10)someday = datetime.time(12, 50, 12, 10)print(someday,type(someday))# 2,以规定的格式返回时间,返回字符串类型temp = someday.strftime('%H::%M::%S')print(temp,type(temp))## 3,以默认的格式返回时间print(someday.isoformat(),type(someday))# -----out------# 12:50:12.000010 <class 'datetime.time'># 12::50::12 <class 'str'># 12:50:12.000010 <class 'datetime.time'>

    3,datetime.datetime类

    日期实践类,常用的参数包含year、month、day、hour、minute、second、microsecond。但是至少要包含year、month、day三个参数。

    import datetimeimport time# 1,以下为两种生成日期时间的方式,效果一致,返回datetime类型someday = datetime.datetime(year=2018,month=1,day=1,hour=12,minute=50,second=12,microsecond=10)someday = datetime.datetime(2018, 1, 1, 12, 50, 12, 10)print(someday,type(someday))# 2,以规定的格式返回日期时间,返回字符串类型temp = someday.strftime('%Y-%m-%d %H:%M:%S')print(temp,type(temp))# 3,以默认的格式返回日期时间print(someday.isoformat(),type(someday))# 4,datetime类.timetuple()将datetime转化为结构体时间;再通过time.mktime()装换为时间戳dtime = datetime.datetime.now()print(dtime.timetuple(),type(dtime.timetuple()))un_time = time.mktime(dtime.timetuple())print(un_time,type(un_time))# 5,时间戳转换为python的datetimetimes = datetime.datetime.fromtimestamp(un_time)print(times,type(times))# 6,将datetime类转换为格式化时间,datetime类.strftime(format).now_time = datetime.datetime.now()now_time = now_time.strftime('%Y-%m-%d %H:%M:%S')print(now_time,type(now_time))# 7,将格式化时间转换为datetime类,datetime.datetime.strptime(string,format)d2 = datetime.datetime.strptime(now_time, '%Y-%m-%d %H:%M:%S')print(d2,type(d2))# -----out------# 2018-01-01 12:50:12.000010 <class 'datetime.datetime'># 2018-01-01 12:50:12 <class 'str'># 2018-01-01T12:50:12.000010 <class 'datetime.datetime'># time.struct_time(tm_year=2019, tm_mon=9, tm_mday=6, tm_hour=11, tm_min=13, tm_sec=59, tm_wday=4, tm_yday=249, tm_isdst=-1) <class 'time.struct_time'># 1567739639.0 <class 'float'># 2019-09-06 11:13:59 <class 'datetime.datetime'># 2019-09-06 11:13:59 <class 'str'># 2019-09-06 11:13:59 <class 'datetime.datetime'>

    4,datetime.timedelta类

    表示时间间隔类,给一个时间点加上此类,即可得到一个新的时间。参数包含days、hours、minutes、seconds、microseconds。

    import datetime# 以下为1天零1小时零1分零1秒又10毫秒的时间间隔datetime.timedelta(days=1,hours=1,minutes=1,seconds=1,microseconds=10)datetime.timedelta(1, 3661, 10)# 以下为35天间隔datetime.timedelta(days=35)datetime.timedelta(35)# 1,当前时间和日期print(datetime.datetime.now())# 2,根据指定日期、相隔时间计算出对应目标时间temp= datetime.datetime.now()-datetime.timedelta(days=67)print(temp)print(datetime.datetime.now()-datetime.timedelta(hours=10,days=1))# -----out------# 2019-09-05 20:05:30.396688# 2019-06-30 20:05:30.396688# 2019-09-04 10:05:30.396688

    四,time模块和datetime模块之间的相互转换

    # coding=utf-8import timeimport datetimedef get_time():    # 获取当前datetime类型时间    now_time = datetime.datetime.now()    # 当前时间减去一天 获得昨天当前时间    yes_time = now_time + datetime.timedelta(days=-1)    # 格式化输出    yes_time_str = yes_time.strftime('%Y-%m-%d %H:%M:%S')    print (yes_time_str)  # 2017-11-01 22:56:02def dif_time():    # 使用datetime类型计算两个时间之间差值    now_time = datetime.datetime.now()    now_time = now_time.strftime('%Y-%m-%d %H:%M:%S')    d1 = datetime.datetime.strptime('2017-10-16 19:21:22', '%Y-%m-%d %H:%M:%S')    d2 = datetime.datetime.strptime(now_time, '%Y-%m-%d %H:%M:%S')    #间隔天数    day = (d2 - d1).days    #间隔秒数    second = (d2 - d1).seconds    print (day)   #17    print (second)  #13475  注意这样计算出的秒数只有小时之后的计算额 也就是不包含天之间差数def unix_time():    #将python的datetime转换为unix时间戳    dtime = datetime.datetime.now()    un_time = time.mktime(dtime.timetuple())    print (un_time)      #将unix时间戳转换为python的datetime    unix_ts = 1509636585.0    times = datetime.datetime.fromtimestamp(unix_ts)    print (times)  #2017-11-02 23:29:45if __name__ == "__main__":    get_time()    dif_time()

    五,附录

    python常用时间库time、datetime与时间格式之间如何转换

    以上就是关于“python常用时间库time、datetime与时间格式之间如何转换”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

    --结束END--

    本文标题: python常用时间库time、datetime与时间格式之间如何转换

    本文链接: https://www.lsjlt.com/news/349384.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • python常用时间库time、datetime与时间格式之间如何转换
      这篇“python常用时间库time、datetime与时间格式之间如何转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“p...
      99+
      2023-07-05
    • php时间戳如何转换时间格式
      这篇文章主要介绍“php时间戳如何转换时间格式”,在日常操作中,相信很多人在php时间戳如何转换时间格式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php时间戳如何转换时间格式”的疑惑有所帮助!接下来,请跟...
      99+
      2023-07-05
    • pandas时间序列之如何将int转换成datetime格式
      目录将int转换成datetime格式原始时间格式pandas 时间数据处理转化时间类型生成时间序列提取时间属性计算时间间隔计算时间推移获取当前机器的支持的最大时间和最小时间将int...
      99+
      2024-04-02
    • C#时间格式如何转换为时间戳
      这篇文章给大家分享的是有关C#时间格式如何转换为时间戳的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。时间戳转换:/// <summary>/// C#时间格式转换为时间戳(互转)/...
      99+
      2023-06-06
    • php如何将时间格式转换时间戳
      小编给大家分享一下php如何将时间格式转换时间戳,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php时间格式转换时间戳的方法:1、使用strtotime()函数,可以将英文文本字符串表示的日期转换为时间戳;2、使用mkti...
      99+
      2023-06-14
    • 详解Python常用标准库之时间模块time和datetime
      目录time时间模块time -- 获取本地时间戳localtime -- 获取本地时间元组(UTC)gmtime -- 获取时间元组(GMT)mktime -- 时间元组获取时间戳...
      99+
      2024-04-02
    • PHP如何将时间戳转换为常见的时间格式
      本文小编为大家详细介绍“PHP如何将时间戳转换为常见的时间格式”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP如何将时间戳转换为常见的时间格式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。将时间戳转换为日期...
      99+
      2023-07-05
    • php如何将时间戳转换为时间格式
      这篇“php如何将时间戳转换为时间格式”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何将时间戳转换为时间格式”文章吧...
      99+
      2023-07-05
    • php如何将时间戳转换成时间格式
      这篇文章主要介绍“php如何将时间戳转换成时间格式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何将时间戳转换成时间格式”文章能帮助大家解决问题。一、什么是时间戳?时间戳是指一种表示时间的数...
      99+
      2023-07-05
    • Java——时间戳和时间格式转换
      时间戳(TimeStamp):通常是一个字符序列,唯一地标志某一刻的时间。Java 中时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数。 一、获取时间戳的方式 1.System.currentTimeM...
      99+
      2023-08-17
      java
    • Python时间,日期,时间戳之间转换
      1.将字符串的时间转换为时间戳    方法:        a = "2013-10-10 23:40:00"        将其转换为时间数组        import time        timeArray = time.strp...
      99+
      2023-01-31
      时间 日期 Python
    • sqlserver时间格式如何转换
      在SQL Server中,可以使用CONVERT函数来将时间从一种格式转换为另一种格式。以下是一些常用的时间格式转换示例: 将日期...
      99+
      2024-05-08
      sqlserver
    • 如何使用PHP将时间格式转换成时间戳
      在 PHP 中,处理时间是非常常见的操作,而时间格式化是其中一个重要的操作。时间戳是表示时间的一种方式,在 PHP 中可以用很多函数来操作时间戳。本文将介绍如何使用 PHP 将时间格式转换成时间戳。一、时间格式及其说明在处理时间格式化之前,...
      99+
      2023-05-14
      php php时间戳
    • php时间格式转换成时间戳如何实现
      这篇文章主要介绍“php时间格式转换成时间戳如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php时间格式转换成时间戳如何实现”文章能帮助大家解决问题。一、什么是时间格式和时间戳在PHP中,时...
      99+
      2023-07-05
    • Python时间模块time()与datetime()怎么使用
      这篇“Python时间模块time()与datetime()怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pytho...
      99+
      2023-06-29
    • PHP如何快速转换时间戳为时间格式
      本篇内容介绍了“PHP如何快速转换时间戳为时间格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法一:使用 date 函数date 函数是...
      99+
      2023-07-05
    • JS时间戳转换为常用时间格式的三种方式
      目录前言1、js 时间戳转日期(可直接复制)2、在main.js中创建过滤器(1)main.js中,创建过滤器将其挂载到vue上(2)页面中具体使用3、day.js(1)三种安装方式...
      99+
      2023-05-16
      js时间戳转换为时间 js时间戳转换 js怎么将时间戳换为时间
    • hadoop时间格式转换
      在Hadoop中,时间格式转换可以使用Java的SimpleDateFormat类来实现。下面是一个示例代码,将一个时间字符串从"y...
      99+
      2023-10-11
      hadoop
    • 【python】时间与时间戳互相转换
      全文一览 一、时间戳转换为时间1.0 获取时间戳1.1 datetime 法1.2 time 法 二、时间转化为时间戳 时间戳 : ,1683876941.119018 时间格式: ...
      99+
      2023-09-02
      python 数据结构 开发语言
    • python unix时间戳与正常时间转
              有时候业务需要,需要把正常的时间格式与unix时间戳格式进行转换。       在python中转化方式如下,直接利用time中的函数: #! /usr/bin/env python #coding:utf-8 impo...
      99+
      2023-01-31
      时间 python unix
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作