首页 > 代码库 > Python初学者(六)

Python初学者(六)

十五、time,datetime,random模块


  I. time & datetime

  这两个模块可以处理时间和日期;

  time模块常用的方法有:time(),process_time()(clock()),altzone,asctime(),localtime(),gmtime(),ctime(),strptime(),mktime(),strftime();

  datetime模块常用的方法有:datetime.now(),date.fromtimestamp(),timedelta()。

>>> import time
>>> time.time() # 返回当前时间的时间戳格式时间(1970年到现在经过的浮点秒数)
1473691580.9504104
>>> time.process_time() # 测量处理器运算时间的时间戳格式时间,不包括sleep时间,clock()方法返回处理器时间
0.49920319999999996
>>> time.altzone # 返回与utc时间(Universal Time Coordinated, 互联网纾标准时间)的时间差的时间戳格式时间
-32400
>>> time.gmtime(time.time()) # 将utc时间戳转换成struct_time格式
time.struct_time(tm_year=2016, tm_mon=9, tm_mday=13, tm_hour=14, tm_min=59, tm_sec=19, tm_wday=1, tm_yday=257, tm_isdst=0)
>>> time.localtime() # 用于输出本地时间struct_time格式time.struct_time(tm_year=2016, tm_mon=9, tm_mday=4, tm_hour=17, tm_min=14, tm_sec=28, tm_wday=6, tm_yday=248, tm_isdst=0)
>>> time.mktime(time.localtime()) # 将struct_time转换成时间戳格式时间
1473779066.0
>>> time.asctime() # 输出带格式的时间‘Sun Sep 4 17:15:30 2016‘>>> time.asctime(time.localtime())‘Sun Sep 4 17:17:55 2016
>>> time.ctime() # 同asctime()
‘Tue Sep 13 23:10:16 2016‘>>> time.strptime(‘20160904‘, ‘%Y%m%d‘) # 前面的字符串和后面的格式需要特定的格式time.struct_time(tm_year=2016, tm_mon=9, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=248, tm_isdst=-1)
>>> time.strftime(‘%Y-%m-%d %H:%M:%S‘, time.gmtime()) # 将struct_time时间格式转换成指定格式的时间字符串
‘2016-09-13 15:12:40‘
>>> import datetime>>> datetime.datetime.now() # 输出当前时间datetime.datetime(2016, 9, 4, 17, 27, 28, 482526)>>> datetime.date.fromtimestamp(time.time()) # 将时间戳转换成日期格式datetime.date(2016, 9, 4)>>> datetime.datetime.now() + datetime.timedelta(hours=3) # timedelta()可用于时间的加减datetime.datetime(2016, 9, 4, 20, 29, 28, 853891)

 日期时间的格式化字符串(以下其他地方抄录并翻译过来,并未全部实践)

日期时间格式化字符串
%a星期的缩写
%A星期的全名
%b月份的缩写
%B月份的全名
%c日期和时间表示
%d每月的第几天(十进制)
%H小时(十进制,24小时格式)
%I小时(十进制,12小时格式)
%j一年中的第几天(十进制)
%m月份(十进制)
%M分钟(十进制)
%S秒(十进制)
%U一年中的第几周(十进制,星期天为一周的第一天)(新的一年的第一个星期天被认为是第0周的开始)
%w星期几(星期天为0)
%W一年中的第几周(十进制,星期一为一周的第一天)(新的一年的第一个星期一被认为是第0周的开始)
%x日期表示
%X时间表示
%yYear without century as a decimal number [00,99].
%YYear with century as a decimal number.
%Z时区名称(没有时区则不存在任何字符串)
%zTime zone offset indicating a positive or negative time difference from UTC/GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M represents decimal minute digits [-23:59, +23:59].
%%百分号“%”

  II. random

  用于生成随机数,常用的方法有:

  random()(产生0-1之间的随机小数);

  randint(a, b)(产生a-b之间的随机数,包含a,这两个参数为integer);

  randrange(a, b)(产生a-b之间的随机数,包含b,这两个参数为integer)。

 

Python初学者(六)