Python——time模块

三种时间格式转化

在这里插入图片描述

1. time() 函数

time( )函数用于返回当前时间的时间戳(从1970年1月1日00时00分00秒到现在的浮点秒数)

time()函数的语法如下:

time.time()

1、此语法中第一个 time 表示 time 模块,该函数不需要传递参数
2、返回值:返回当前时间的时间戳

>>> import time
>>>
>>> print("当前时间的时间的时间戳:%f" % time.time())
当前时间的时间的时间戳:1536375255.196752

2. localtime([secs]) 函数

time.localtime( )函数的作用是格式化时间戳为本地时间(struct_time类型)。如果secs参数未传入,就以当前时间为转换标准

localtime() 方法的语法:

   time.localtime([ secs ])

1、参数secs – 指转换为 time.struct_time 类型的对象的秒数
2、返回值:该函数无任何返回值

>>> import time
>>>
>>> print(time.localtime())
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=8, tm_hour=10, tm_min=59, tm_sec=39, tm_wday=5, tm_yday=251, tm_isdst=0)

3. gmtime([secs]) 函数

gmtime( ) 函数用于将一个时间戳转换为UTC时区(0时区)的 struct_time。可选参数 secs 表示从1970-1-1 到现在的秒数,无参数时默认为本地时间

函数返回 time.struct_time 类型的对象 (struct_time 是在 time 模块中定义的表示时间的对象)

gmtime([secs]) 的语法如下:

 time.gmtime([secs])

1、参数secs – 指转换为 time.struct_time 类型的对象的秒数
2、返回值:该函数无任何返回值

>>> import time
>>>
>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=8, tm_hour=8, tm_min=22, tm_sec=14, tm_wday=5, tm_yday=251, tm_isdst=0)

4. mktime(t) 函数

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

以下是 mktime()方法的语法:

time.mktime(t)

1、参数t – 这是 struct_time (结构化时间)或全满 9 个元素的元组。

2、返回值:该方法返回一个浮点数,为了兼容time()函数。

>>> import time
>>>
>>> t = ( 2018,9,8,16,34,30,5,251,0)
>>>
>>> time.mktime(t)
1536395670.0
>>>
>>>
>>> time.mktime(time.localtime())
1536395774.0

5. asctime([t]) 函数

该函数用于接收一个时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

asctime() 方法的语法:

 time.asctime([t]))

1、参数 t – 完整的9位元组元素或 struct_time 表示,由 gmtime() 和 localtime() 函数返回的时间的元组。

2、返回值:此方法返回以下形式的24个字符的字符串: ‘Tue Feb 17 23:21:05 2009’.

>>> import time
>>>
>>> t = ( 2018,9,8,16,34,30,5,251,0)
>>>
>>> time.asctime(t)
'Sat Sep  8 16:34:30 2018'
>>>
>>>
>>> time.asctime(time.localtime())
'Sat Sep  8 16:41:27 2018'
>>>
>>> time.asctime()
'Sat Sep  8 16:41:54 2018'

6. ctime([ secs ]) 函数

用于把一个时间戳转换为time.asctime()的形式。如果未给参数 secs 或参数为 None,就会默认将 time.time() 作为参数。

语法如下:

time.ctime([ sec ])

1、参数sec – 这是将被转换成字符串表示的秒数。

2、返回值:此方法不返回任何值。

>>> import time
>>>
>>> time.ctime()
'Sat Sep  8 17:08:55 2018'
>>>
>>> time.ctime(1455502418.000000)
'Mon Feb 15 10:13:38 2016'
  1. sleep(secs) 函数
    sleep()函数用于推迟调用线程的运行,可通过参数secs指定进程挂起的时间

sleep()方法的语法:

  time.sleep(t)

1、参数t – 这是要暂停执行的秒数。

2、返回值:此方法不返回任何值。

>>> import time
>>>
>>> def sleep_time():
...     print(time.ctime())
...     time.sleep(5)
...     print(time.ctime())
...
>>>
>>>
>>> sleep_time()
Sat Sep  8 17:18:52 2018
Sat Sep  8 17:18:57 2018

8. clock() 函数

clock() 函数用于以浮点数计算的秒数返回当前的 CPU (处理器)时间。用来衡量不同程序的耗时,比time.time()更有用。

该函数在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间"(unix系统始终返回全部运行时间),它是用秒表示的浮点数(时间戳)。而在Windows中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间.

clock()方法语法:

time.clock()

参数:无
返回值:在 win32 系统下,这个函数返回的是真实时间(wall time),而在Unix/Linux下返回的是CPU时间。

【注】
time.clock已在Python 3.3中弃用,将从Python 3.8中删除:使用time.perf_counter或time.process_time代替

9. strftime(format[, t]) 函数

strftime() 方法用于接收时间元组,并返回以可读字符串表示的当地时间。格式由format参数决定。

strftime()只能接受struct_time类型的参数,若提供的是9位元素的时间元组,则需要将其转化为时间戳再转化为struct_time类型的时间元组

如果不提供 t (tupletime),则默认使用 localtime() 函数返回的当前时间。格式必须是字符串。如果 tupletime 的任何字段在允许的范围之外,那么异常 ValueError 将会被引发。

strftime()方法的语法:

time.strftime(format  [,t]  )

1、参数 t – 这是要被格式化以秒为单位的时间,为一个可选参数。

2、参数format – 这将用于格式化给定时间的指令。

3、返回值:返回以可读字符串表示的当地时间

import time
 
t = (2016, 9, 25, 17, 50, 38, 6, 48, 0)
t = time.mktime(t)
print(time.strftime('%b %d %Y %H:%M:%S', time.gmtime(t)))
print("\n\n",time.strftime('%b %d %Y %H:%M:%S'))
print("\n\n",time.strftime('%H:%M:%S'))
执行结果:

Sep 25 2016 09:50:38
Sep 08 2018 21:30:54
21:30:54

10. strPtime(string [, format]) 函数

strptime( )函数用于根据format的格式把一个时间字符串解析为时间元组。

语法如下:

    strptime (string [,format] )

1、参数:
string – 时间字符串
format – 指格式化字符串

2、返回值:返回 struct_time 对象

import time
struct_time = time.strptime("8 Sep 18", "%d %b %y")
print('returned tuple: ', struct_time)

执行结果:

returned tuple:  time.struct_time(tm_year=2018, tm_mon=9, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=251, tm_isdst=-1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值