常用模块
- calendar
- time
- datetime
- timeit
- os
- shutil
- zip
- math
- string
- 上述所有模块使用理论上都应该先导入,string是特例
- calendar,time,datetime的区别参考中文意思
datetime模块
- datetinme提供日期和时间的运算和表示
import datetime
# datetime常见属性
# datetime.date: 一个理想和的日期,提供year, month, day属性
dt = datetime.date(2018, 8,29)
print(dt)
print(dt.day)
print(dt.year)
print(dt.month)
# datetime.time: 提供一个理想和的时间, hour, minute,sec,microsec等内容
# datetime.datetime: 提供日期跟时间的组合
# datetime.timedelta: 提供一个时间差,时间长度
2018-08-29 29 2018 8
# datetime.datetime
from datetime import datetime
# 常用类方法:
# today:
# now
# utcnow
# fromtimestamp: 从时间戳中返回本地时间
dt = datetime(2018, 8, 29)
print(dt.today())
print(dt.now())
print(dt.fromtimestamp(time.time()))
2018-08-29 22:57:58.206965 2018-08-29 22:57:58.207462 2018-08-29 22:57:58.207463
# datetime.timedelta
# 表示一个时间间隔
from datetime import datetime, timedelta
t1 = datetime.now()
print( t1.strftime("%Y-%m-%d %H:%M:%S"))
# td表示以小时的时间长度
td = timedelta(hours=1)
# 当前时间加上时间间隔后,把得到的一个小时后的时间格式化输出
print( (t1+td).strftime("%Y-%m-%d %H:%M:%S"))
2018-08-29 23:42:59 2018-08-30 00:42:59
# datetime.datetime 模块
- 提供比较好用的时间而已
- 类定义
class datetime.datetime(year, month, day[, hour
[, minute
[, second
[, microsecond
[, tzinfo]]]]])
# The year, month and day arguments are required.
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= n
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 10**
- 类方法
`
datetime.today(): 返回当前本地datetime.随着 tzinfo None. datetime.fromtimestamp(time.time()).
datetime.now([tz]): 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().
datetime.utcnow(): 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似.
datetime.fromtimestamp(timestamp[, tz]): 根据时间戳返回本地的日期和时间.tz指定时区.
datetime.utcfromtimestamp(timestamp): 根据时间戳返回 UTC datetime.
datetime.fromordinal(ordinal): 根据Gregorian ordinal 返回datetime.
datetime.combine(date, time): 根据date和time返回一个新的datetime.
datetime.strptime(date_string, format): 根据date_string和format返回一个datetime.
实例方法
datetime.date(): 返回相同年月日的date对象.
datetime.time(): 返回相同时分秒微秒的time对象.
datetime.replace(kw): kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似.
类属性
datetime.min: datetime(MINYEAR, 1, 1).
datetime.max: datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999).
实例属性(read-only)
datetime.year: 1 至 9999
datetime.month: 1 至 12
datetime.day: 1 至 n
datetime.hour: In range(24). 0 至 23
datetime.minute: In range(60).
datetime.second: In range(60).
datetime.microsecond: In range(1000000).
from datetime import datetime as dt
print(dt.now())
2018-08-29 23:45:50.484366
#timeit 时间测量工具
import timeit
# 生成列表两种方法的比较
# 如果单纯比较生成一个列表的时间,可能很难实现
c = '''
sum = []
for i in range(1000):
sum.append(i)
'''
# 利用timeit调用代码,执行100000次,查看运行时间
t1= timeit.timeit(stmt="[i for i in range(1000)]", number=100000 )
# 测量代码c执行100000次运行结果
t2 = timeit.timeit(stmt=c, number=100000)
print(t1)
print(t2)
2.7037914740668847 7.00762756822556
# timeit 可以执行一个函数,来测量一个函数的执行时间
def doIt():
num = 3
for i in range(num):
print("Repeat for {0}".format(i))
# 执行函数,重复10次
t = timeit.timeit(stmt=doIt, number=10)
print(t)
Repeat for 0 } Repeat for 1 } *10 Repeat for 2 } 0.00976040500063391