Python3 日期和时间
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
时间戳
import time; # 引入time模块
ticks = time.time()
print ("当前时间戳为:", ticks)
------------以上实例输出结果:--------------------
1555770751.2650783
import time
localtime = time.localtime(time.time())
print ("本地时间为 :", localtime)
------------以上实例输出结果:--------------------
本地时间为 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=28, tm_sec=49, tm_wday=3, tm_yday=98, tm_isdst=0)
格式化日期
我们可以使用 time 模块的 strftime 方法来格式化日期,:
import time
# 格式化成2016-03-20 11:45:39形式
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
------------以上实例输出结果:--------------------
2019-04-20 22:39:04
# 格式化成Sat Mar 28 22:24:24 2016形式
print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
------------以上实例输出结果:--------------------
Sat Apr 20 22:39:04 2019
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
------------以上实例输出结果:--------------------
1459175064.0
计算系统或者程序耗时
time.perf_counter() # 返回系统运行时间
time.process_time() # 返回进程运行时间
睡眠
time.sleep(secs)
推迟调用线程的运行,secs指秒数。
import time
print ("Start : %s" % time.ctime())
time.sleep( 5 )
print ("End : %s" % time.ctime())
------------以上实例输出结果:--------------------
Start : Sat Apr 20 22:48:15 2019
End : Sat Apr 20 22:48:20 2019
# (6)时间元组 → 可视化时间(定制)
# time.strftime(要转换成的格式,时间元组)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
---------------------------------------------------------------
2019-04-20 23:09:14
# (7)可视化时间(定制) → 时间元祖
# time.strptime(时间字符串,时间格式)
print(time.strptime('2018-9-30 11:32:23', '%Y-%m-%d %H:%M:%S'))
---------------------------------------------------------------
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=30, tm_hour=11, tm_min=32, tm_sec=23, tm_wday=6, tm_yday=273, tm_isdst=-1)
python中时间日期格式化符号:
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %m 月份(01-12)
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %M 分钟数(00=59)
- %S 秒(00-59)
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称
- %% %号本身