1、程序功能说明
由于查询中需要查询每一天的数据,所以需要遍历每个月的每一天,然后再将最高的一天作为潜在异常,去和其他天的数据相比较。
2、程序代码
#coding = utf-8
CURRENTMONTH = "2018-05"
from datetime import date,timedelta
traverseDay = date(int(CURRENTMONTH[0:4]),int(CURRENTMONTH[5:7]),1)
intMonth = int(CURRENTMONTH[5:7])
while True:
if intMonth == traverseDay.month:
print traverseDay.strftime('%Y-%m-%d') + " 00:00:00",traverseDay.strftime('%Y-%m-%d') + " 23:59:59"
traverseDay = traverseDay + timedelta(days=1)
else:
break
3、说明
实现过程中,用到了date类型,这里没有使用datetime或者time类型,用这些类型也可以实现。其中需要注意的地方:
(1)string类型赋值给date
d = date(2018,6,17)
这样即可,注意参数全部为int类型。
(2)date类型赋值给str
date.strftime('%Y-%m-%d')
(3)月份的比较。这里使用转换成int类型进行比较。每次循环加1天,直到加到下个月的第一天。
intMonth == traverseDay.month
4、运行结果
2018-05-01 00:00:00 2018-05-01 23:59:59
2018-05-02 00:00:00 2018-05-02 23:59:59
2018-05-03 00:00:00 2018-05-03 23:59:59
2018-05-04 00:00:00 2018-05-04 23:59:59
2018-05-05 00:00:00 2018-05-05 23:59:59
2018-05-06 00:00:00 2018-05-06 23:59:59
2018-05-07 00:00:00 2018-05-07 23:59:59
2018-05-08 00:00:00 2018-05-08 23:59:59
2018-05-09 00:00:00 2018-05-09 23:59:59
2018-05-10 00:00:00 2018-05-10 23:59:59
2018-05-11 00:00:00 2018-05-11 23:59:59
2018-05-12 00:00:00 2018-05-12 23:59:59
2018-05-13 00:00:00 2018-05-13 23:59:59
2018-05-14 00:00:00 2018-05-14 23:59:59
2018-05-15 00:00:00 2018-05-15 23:59:59
2018-05-16 00:00:00 2018-05-16 23:59:59
2018-05-17 00:00:00 2018-05-17 23:59:59
2018-05-18 00:00:00 2018-05-18 23:59:59
2018-05-19 00:00:00 2018-05-19 23:59:59
2018-05-20 00:00:00 2018-05-20 23:59:59
2018-05-21 00:00:00 2018-05-21 23:59:59
2018-05-22 00:00:00 2018-05-22 23:59:59
2018-05-23 00:00:00 2018-05-23 23:59:59
2018-05-24 00:00:00 2018-05-24 23:59:59
2018-05-25 00:00:00 2018-05-25 23:59:59
2018-05-26 00:00:00 2018-05-26 23:59:59
2018-05-27 00:00:00 2018-05-27 23:59:59
2018-05-28 00:00:00 2018-05-28 23:59:59
2018-05-29 00:00:00 2018-05-29 23:59:59
2018-05-30 00:00:00 2018-05-30 23:59:59
2018-05-31 00:00:00 2018-05-31 23:59:59