time
查看time库中有哪些方法
>>> import time
>>> dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__',
'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic',
'perf_counter', 'process_time','sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']
time():返回当前时间戳
ps:时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年
时间戳的概念:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
时间戳详细解释
>>> import time
>>> time.time()
1554278877.2749991
mktime():以struct_time转换为时间戳
>>> time.mktime(time.localtime())
1554283494.0
localtime():获取当前时间
ps:从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。
>>> import time
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=3, tm_hour=16, tm_min=16, tm_sec=47, tm_wday=2, tm_yday=93, tm_isdst=0)
返回结果说明: 年、月、日、小时、分钟、秒、星期、这一年的第几天、夏令时标识符
(实行夏令时的时候,tm_isdst为正。不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负)
asctime():简单获取格式化时间
ps:你可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime()
>>>import time
>>> localtime = time.asctime(time.localtime())
>>> localtime
'Wed Apr 3 16:27:51 2019'
strftime():格式化日期
import time
# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
代码是直接copy手册的 不过该代码支持Python2.0+ 如果您的Python是Python3.0+ 可以在使用print函数时候加 () 即(print())
clock():检测程序运行时间
>>> import time
>>> time.clock()
8.306783092524726e-06 #第一次调用运行时间
>>> time.clock()
10.962511110322387 #与第一次调用时间间隔
>>> time.clock()
24.14607327035785 #与第一次调用时间间隔
sleep():延时
ps:延时单位为 seconds(秒)
>>> import time
>>> time.clock();time.sleep(2);time.clock()
3.775810496602148e-07
2.052735612462893
ctime():将时间戳转换成时间字符串
ps:默认为当前时间
>>>import time
>>> time.ctime()
'Wed Apr 3 17:15:15 2019'
gmtime():换成UTC时区(0时区),再标准输出
ps:将一个时间戳转换成一个UTC时区(0时区)的struct_time,如果seconds参数未输入,则以当前时间为转换标准
>>> import time
>>>
time.localtime()
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=3, tm_hour=17, tm_min=18, tm_sec=0, tm_wday=2, tm_yday=93, tm_isdst=0)
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=3, tm_hour=9, tm_min=18, tm_sec=22, tm_wday=2, tm_yday=93, tm_isdst=0)
>>> time.gmtime(8)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=8, tm_wday=3, tm_yday=1, tm_isdst=0)
>>> time.gmtime(1)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)
strptime():将格式化字符转换成数组形式
2009-03-20 11:45:39 对应的格式化字符串为:%Y-%m-%d %H:%M:%S
Sat Mar 28 22:24:24 2009 对应的格式化字符串为:%a %b %d %H:%M:%S %Y
datetime
查看datetime库中有哪些方法
>>> import datetime
>>> dir(time)
[['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
'__spec__', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']]
datetime的使用
import datetime
i = datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是 %s" %i.day)
print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是 %s" %i.second)
=================== RESTART: C:/Users/xts/Desktop/haha.py ===================
当前的日期和时间是 2019-04-03 18:35:25.779804
ISO格式的日期和时间是 2019-04-03T18:35:25.779804
当前的年份是 2019
当前的月份是 4
当前的日期是 3
dd/mm/yyyy 格式是 3/4/2019
当前小时是 18
当前分钟是 35
当前秒是 25
calendar
查看calendar库中有哪些方法
>>> import calendar
>>> dir(calendar)
['Calendar', 'EPOCH', 'FRIDAY', 'February', 'HTMLCalendar', 'IllegalMonthError', 'IllegalWeekdayError', 'January', 'LocaleHTMLCalendar', 'LocaleTextCalendar', 'MONDAY', 'SATURDAY', 'SUNDAY', 'THURSDAY', 'TUESDAY', 'TextCalendar', 'WEDNESDAY',
'_EPOCH_ORD', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_colwidth', '_locale', '_localized_day', '_localized_month', '_spacing',
'c', 'calendar', 'datetime', 'day_abbr', 'day_name', 'different_locale', 'error', 'firstweekday', 'format', 'formatstring',
'isleap', 'leapdays', 'main', 'mdays', 'month', 'month_abbr', 'month_name', 'monthcalendar',
'monthrange', 'prcal', 'prmonth', 'prweek', 'repeat', 'setfirstweekday', 'sys', 'timegm', 'week', 'weekday', 'weekheader']
对该模块大致介绍
此模块的函数都是日历相关的,例如打印某月的字符月历。
星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数
常见方法使用如下
1 | calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。 |
2 | calendar.firstweekday( ) 返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。 |
3 | calendar.isleap(year) 是闰年返回 True,否则为 False。 >>> import calendar >>> print(calendar.isleap(2000))True >>> print(calendar.isleap(1900))False |
4 | calendar.leapdays(y1,y2) 返回在Y1,Y2两年之间的闰年总数。 |
5 | calendar.month(year,month,w=2,l=1) 返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。 |
6 | calendar.monthcalendar(year,month) 返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。 |
7 | calendar.monthrange(year,month) 返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。 |
8 | calendar.prcal(year,w=2,l=1,c=6) 相当于 print calendar.calendar(year,w,l,c). |
9 | calendar.prmonth(year,month,w=2,l=1) 相当于 print calendar.calendar(year,w,l,c)。 |
10 | calendar.setfirstweekday(weekday) 设置每周的起始日期码。0(星期一)到6(星期日)。 |
11 | calendar.timegm(tupletime) 和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间戳(1970纪元后经过的浮点秒数)。 |
12 | calendar.weekday(year,month,day) 返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。 |
常用方法表转载地址calendar
random
基本栗子
>>> random() # Random float: 0.0 <= x < 1.0
0.37444887175646646
>>> uniform(2.5, 10.0) # Random float: 2.5 <= x < 10.0
3.1800146073117523
>>> expovariate(1 / 5) # Interval between arrivals averaging 5 seconds
5.148957571865031
>>> randrange(10) # Integer from 0 to 9 inclusive
7
>>> randrange(0, 101, 2) # Even integer from 0 to 100 inclusive
26
>>> choice(['win', 'lose', 'draw']) # Single random element from a sequence
'draw'
>>> deck = 'ace two three four'.split()
>>> shuffle(deck) # Shuffle a list
>>> deck
['four', 'two', 'ace', 'three']
>>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement
[40, 10, 50, 30]
详细内容可见官网(之后会尽量翻译更新)
random