python中时间函数

系统 1635 0

目录

1、time.gmtime([secs])可以将timestamp时间戳转化为时间元组

2、time.localtime([secs])可以将timestamp时间戳转为时间元组

3、time.mktime(t):将一个struct_time转化为时间戳 

4、通过函数将struct_time转成格式字符串

5、将格式字符串转化成struct_time

6、datetime、timestamp、字符串str互转

6.1 将datetime类型转成str类型

6.2 str->dateTime 字符串转成日期datetime

6.3 字符串转成时间戳  str->timestamp

6.4 时间戳转成日期 timestamp->datetime


 

time模块所包含的函数能够实现以下功能:获取当前的时间、操作时间和日期、从字符串读取时间及格式化时间为字符串。

  • timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量;返回时间戳的函数主要有time()、clock()等
  • struct_time时间元组,共有九个元素组。gmtime(),localtime(),strptime()
  • format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。

 

不同格式之间的转换如图:  

python中时间函数_第1张图片

其中format_string 类型的时间和struct_time之间可以转换,timestamp时间戳可以和struct_time之间进行转化,但是时间戳和格式化时间是不能直接转换的。

struct_time元组结构:  

            
              import time
t = time.time()
t = time.localtime()
            
          
              
                time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=9, tm_min=49, tm_sec=45, tm_wday=1, tm_yday=141, tm_isdst=0)

              
            

python中时间函数_第2张图片

 

format time结构化表示:  

python中时间函数_第3张图片

1、 time.gmtime([secs])可以将timestamp时间戳转化为时间元组

            
              a = time.time()
b=time.gmtime()
c=time.gmtime(a)
            
          

a,b,c

              
                (1558407279.011641,
 time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=2, tm_min=54, tm_sec=39, tm_wday=1, tm_yday=141, tm_isdst=0),
 time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=2, tm_min=54, tm_sec=39, tm_wday=1, tm_yday=141, tm_isdst=0))

              
            

2、 time.localtime([secs])可以将timestamp时间戳转为时间元组

            
              a = time.localtime()
b = time.time()
c = time.localtime(b)
            
          

a,b,c

              
                (time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=10, tm_min=58, tm_sec=45, tm_wday=1, tm_yday=141, tm_isdst=0),
 1558407525.590347,
 time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=10, tm_min=58, tm_sec=45, tm_wday=1, tm_yday=141, tm_isdst=0))

              
            

3、 time.mktime(t):将一个struct_time转化为时间戳  

time.mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数。如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。

            
              a = time.localtime()
b = time.mktime(a)
            
          
              
                a,b

(time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=11, tm_min=3, tm_sec=35, tm_wday=1, tm_yday=141, tm_isdst=0),
 1558407815.0)

              
            

4、通过函数将struct_time转成格式字符串

ime.strftime( format [, t] ) 通过函数将struct_time转成格式字符串,把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串,格式由参数format决定。如果未指定,将传入time.localtime()。如果元组中任何一个元素越界,就会抛出ValueError的异常。函数返回的是一个可读表示的本地时间的字符串。 
参数:

format:格式化字符串
t :可选的参数是一个struct_time对象
 

            
              a = time.gmtime()
b = time.strftime("%Y-%m-%d",a)
            
          

a,b

              
                (time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=3, tm_min=40, tm_sec=34, tm_wday=1, tm_yday=141, tm_isdst=0),
 '2019-05-21')

              
            

 

5、将格式字符串转化成struct_time

time.strptime(string,format) 将格式字符串转化成struct_time。该函数是time.strftime()函数的逆操作。time.strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。所以函数返回的是struct_time对象。

参数:string :时间字符串;format:格式化字符串;
 

            
              a = time.gmtime()
b = time.strftime("%Y-%m-%d %X",a)
c=time.strptime(b,"%Y-%m-%d %H:%M:%S")
            
          

a,b,c

              
                (time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=3, tm_min=47, tm_sec=1, tm_wday=1, tm_yday=141, tm_isdst=0),
 '2019-05-21 03:47:01',
 time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=3, tm_min=47, tm_sec=1, tm_wday=1, tm_yday=141, tm_isdst=-1))

              
            

 

6、datetime、timestamp、字符串str互转

            
              import time
import datetime

a=datetime.datetime.now()
            
          

a

datetime.datetime(2019, 5, 21, 13, 39, 46, 946329)

6.1 将datetime类型转成str类型


strftime("%Y-%m-%d %H:%M:%S") datetime->str

            
              b=a.strftime("%Y-%m-%d %H:%M:%S")
            
          

b

'2019-05-21 13:39:46'

 

6.2 str->dateTime 字符串转成日期datetime

strptime(str,format)

            
              c=datetime.datetime.strptime(b,"%Y-%m-%d %H:%M:%S")
            
          

c

datetime.datetime(2019, 5, 21, 13, 39, 46)

6.3 字符串转成时间戳  str->timestamp

            
              d=time.mktime(time.strptime(b,"%Y-%m-%d %H:%M:%S"))
            
          

d

1558417186.0

6.4 时间戳转成日期 timestamp->datetime

            
              e=datetime.datetime.fromtimestamp(d)
            
          

e

datetime.datetime(2019, 5, 21, 13, 39, 46)

 

 

 

 

 

 

 

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论