首页 > Python基础教程 >
-
python基础教程之python--time
有关time的操作是课程中鲜少涉及到的,今天下午对相关内容进行了自学及实验,整理如下,其中涉及到的代码来源将在文末提及,一并致谢。另:欢迎批评指正。
时间(time)
1. time中一个及其重要的概念叫(time-stamp),每个时间戳都以自1970年1月1日00:00经过了多长时间来表示。python中time模块下的time函数可以获取当前的时间戳
import time:
current_time=time.time()
#输出格式为:1558793987.6204262
2. python对时间的处理使用一种叫时间元组(struct_time)的特殊结构,localtime可以将以时间戳表示的浮点数转化为时间元组
localtime=time.localtime(current_time)
#输出格式为:time.struct_time(tm_year=2019, tm_mon=5, tm_mday=25, tm_hour=22, tm_min=20, tm_sec=41, tm_wday=5, tm_yday=145, tm_isdst=0)
3. 使用函数asctime()可以对时间进行格式化输出
local_time1=time.asctime(localtime)
#输出格式为:Sat May 25 21:48:07 2019
4. ctime可以将时间戳转化成可视化时间
vtime=time.ctime(current_time)
#输出格式同3
5. time模块中的strftime可以对日期进行格式化(处理对象为时间元组,处理结果为string)
常用格式化符号:
- %y 年份—两位数
- %Y 年份—四位数
- %m 月份
- %d 日期
- %H 小时—24小时制
- %I 小时—12小时制
- %M 分钟
- %S 秒
- %a 星期名称简写
- %A 星期名称全称
- %b 月份名称简写
- %B 月份名称全称
- %j 一年内的第几天(001-366)
- %p A.M.或P.M.的等价符
- %w 一星期中的第几天(0-6)
- %% %号本身
localtime.strftime('%Y-%m-%d %H:%M:%S',localtime)
6. 与5相对,可视化时间(string)转化成时间元组用到strptime,不予以展开
7. time.clock()用于计时,第一次调用返回程序运行的时间.,之后的调用返回与上一次的间隔
time.sleep(secs)使操作线程推迟指定时间, 单位为秒
日期(datetime)
1. datetime.date: 日期,提供year, month, day的属性,如果参数脱离给定的范围会抛出valueError
2. datetime.time: 时间,提供hour, minute, second, microsecond, tzinfo的属性
3. datetime.datetime: 日期和时间的组合
4. datetime.timedelta: 用于表示一个时间间隔(所有参数都有默认值0,支持加减乘除的算数操作),内部只存储days,seconds以及microseconds,其他参数的值会自动规则转换
如计算两个日期相差几天:
import datetime
d1 = datetime.datetime.strptime('2019-05-25 17:41:10', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2019-05-24 17:41:11', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
今天后三天的日期:
now=datetime.datetime.now() #等价于date.fromtimestamp(time.time())
delta = datetime.timedelta(days=3)
n_days = now + delta
5. 补充
datetime.today():返回当前本地时间
datetime.now([tz]):tz为指定时区,不作详细要求时同today
reference:
https://www.runoob.com/python/python-date-time.html
https://www.cnblogs.com/xiaoxiao9292/p/7605650.html