首页 > 编程语言 > 详细

[Python3] 027 常用模块 time

时间:2019-12-11 22:03:14      阅读:139      评论:0      收藏:0      [点我收藏+]

time

1. 时间戳

  • 一个时间表示,根据不同语言,可以是整数或者浮点数
  • 是从 1970年1月1日0时0分0秒 到现在经历的秒数
  • 如果表示的时间是 1970年以前 或者 太遥远的未来,可能出现异常
  • 32位操作系统 能够支持到 2038年

2. UTC 时间

  • UTC 又称 世界协调时间,以英国的格林尼治天文所在地区的时间作为参考的时间,也叫做 世界标准时间
  • 中国时间是 UTC+8 东八区

3. 夏令时

  • 在夏天的时候将时间调快一小时
  • 本意是督促大家早睡早起节省蜡烛,每天变成 25 个小时,本质没变还是 24 小时

4. 时间元组

  • 一个包含时间内容的普通元组
索引 内容 属性
0 tm_year 2015
1 tm_mon 1~12
2 tm_mday 1~31
3 tm_hour 0~23
4 tm_min 0~59
5 tm_sec 0~61,60表示闰秒,61保留值
6 周几 tm_wday 0~6
7 第几天 tm_yday 1~366
8 夏令时 tm_isdst 0, 1, -1(表示夏令时)

5. 举例

  • 必要的准备工作
>>> import time

5.1 例子1

  • time.timezone
    • 当前时区和 UTC 时间相差的秒数
    • 在没有夏令时的情况下,中(零)时区与东八区相差 -28800s
  • time.altzone
    • 获取当前时区与 UTC 时间相差的秒数
    • 在有夏令时的情况下,中(零)时区与东八区相差 -32400s
  • time.daylight
    • 测当前是否是夏令时时间状态
    • 0 表示是
>>> time.timezone
-28800
>>> time.altzone
-32400
>>> time.daylight
0

例子2

  • time.time
    • 时间戳
  • time.localtime
    • Convert seconds since the Epoch to a time tuple expressing local time.
    • When ‘seconds‘ is not passed in, convert the current time instead.
>>> time.time()
1576070236.623945
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=11, tm_hour=21, tm_min=17, tm_sec=29, tm_wday=2, tm_yday=345, tm_isdst=0)
>>> t = time.localtime()
>>> t.tm_hour
21

例子3

  • time.asctime
    • Convert a time tuple to a string, e.g. ‘Sat Jun 06 16:26:11 1998‘.
    • When the time tuple is not present, current time as returned by localtime() is used.
>>> t1 = time.localtime()
>>> t2 = time.asctime(t1)
>>> type(t2)
<class 'str'>
>>> t2
'Wed Dec 11 21:18:03 2019'

例子4

  • time.ctime
    • Convert a time in seconds since the Epoch to a string in local time.
    • This is equivalent to asctime(localtime(seconds)). When the time tuple is not present, current time as returned by localtime() is used.
>>> t = time.ctime()
>>> type(t)
<class 'str'>
>>> t
'Wed Dec 11 21:19:02 2019'

例子5

  • time.mktime
    • Convert a time tuple in local time to seconds since the Epoch.
    • Note that mktime(gmtime(0)) will not generally return zero for most time zones; instead the returned value will either be equal to that of the timezone or altzone attributes on the time module.
>>> lt = time.localtime()
>>> ts = time.mktime(lt)
>>> type(ts)
<class 'float'>
>>> ts
1576070374.0

例子6

  • time.clock
    • Return the CPU time or real time since the start of the process or since the first call to clock().
    • This has as much precision as the system records.
  • time.sleep
    • Delay execution for a given number of seconds.
    • The argument may be a floating point number for subsecond precision.
# run in ipython
t0 = time.clock()
time.sleep(3)
t1 = time.clock()
print(t1 - t0)

>>>

...
DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
  """Entry point for launching an IPython kernel.
3.0017606999999984
...
This is separate from the ipykernel package so we can avoid doing imports until
  • 既然官方说了,那就用 time.perf_countertime.process_time

例子7

  • strftime
    • Convert a time tuple to a string according to a format specification.
    • When the time tuple is not present, current time as returned by localtime() is used.
  • help(time.strftime)
符号 释义
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移
H 代表十进制的小时数,M 代表十进制的分钟数
%a Locale‘s abbreviated weekday name.
%A Locale‘s full weekday name.
%b Locale‘s abbreviated month name.
%B Locale‘s full month name.
%c Locale‘s appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale‘s equivalent of either AM or PM.
  • 补充
符号 释义
%j 一年中的第几天(001 - 366)
%U 一年中的星期数(00 - 53 星期天是一个星期的开始)
第一个星期天之前的所有天数都放在第 0 周
%w 一个星期中的第几天(0 - 6,0 是星期天)
%W 和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%% %号本身
>>> lt = time.localtime()
>>> ft = time.strftime("%Y-%m-%d %H:%M", lt)
>>> ft
'2019-12-11 21:20'

[Python3] 027 常用模块 time

原文:https://www.cnblogs.com/yorkyu/p/12025286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!