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

posted on 2019-05-26 09:36  Eleni  阅读(208)  评论(0编辑  收藏  举报

导航