Python学习笔记--Python基础-09-常用模块datetime

常用模块

  • 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值