1、取时间差
import time
before = time.time()
func1()
after = time.time()
print(f"花费时间{after - before}")
time.time()会返回从1970年1月1日0点到到当前时间的经过和秒数,可以简称为秒数时间。
2、指定格式显示时间
from datetime import datetime
str(datetime.now()) # '2018-06-30 23:10:05.911420'
# 指定输出格式
datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# 2019-02-24 16:56:55
# 使用time库来格式化字符串
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
3、秒数时间转化为字符串表示
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1434502529))
4、字符串时间转化为整数时间
int(time.mktime(time.strptime('2015-08-01 23:59:59', '%Y-%m-%d %H:%M:%S')))
5、ISO格式转化为本地时间
import dateutil.parser
# 字符串时间 转化为 datetime 对象
dt = dateutil.parser.isoparse('2008-09-03T20:56:35.450686+00:00')
# 转化为本地时区的 datetime 对象
localdt = dt.astimezone(tz=None)
# 产生本地格式 字符串
localdt.strftime('%Y-%m-%d %H:%M:%S')
6、取某个时间对应年月日时分秒
from datetime import datetime
datetime.now()
# datetime.datetime(2018, 6, 30, 23, 3, 54, 238947)
# 年
datetime.now().year
# 月
datetime.now().month
# 日
datetime.now().day
# 时
datetime.now().hour
# 分
datetime.now().minute
# 秒
datetime.now().second
# 毫秒
datetime.now().microsecond
# 取星期几用weekday方法
# 0:星期一
datetime.now().weekday()
7、取指字时间字符串对应星期几
# 要计算2018年6月24日是星期几
thatDay = "2018-6-24"
# 先把字符串表示的日期转化为datetime对象
theDay = datetime.strptime(thatDay, "%Y-%m-%d")
# 再获取星期几
theDay.weekday()
8、从某个时间点往前或后推一段时间
thatDay = "2018-6-24"
theDay = datetime.strptime(thatDay, "%Y-%m-%d").date()
# 后推120天
target = theDay + timedelta(days=120)
print(target)
print(target.weekday())
# 前推120天
target = theDay - timedelta(days=120)
9、取指定日期那周的周一
thatDay = "2018-6-24"
theDay = datetime.strptime(thatDay, "%Y-%m-%d").date()
weekMonday = theDay - timedelta(days=theDay.weekday())
10、获取某个月总共有多少天
from calendar import monthrange
# monthrange返回的是元组
# 第一个元素是指定月第一天是星期几
# 第二个元素是指定月有多少天
mr = monthrange(2011, 2)
# 得到2011年2月有多少天
print(mr[1])