用python写的某个月的第一天和最后一天
# -*- coding: utf-8 -*-
# 脚本使用规则 带参数的时候 如下所示 可以统计某个月的时间
# python contractor_salescount_per_month.py 2016-09
import sys
import MySQLdb
import datetime
import os
import time
def get_now_time():
return time.strftime("%Y-%m-%d",time.localtime(time.time()))
def get_ago_time(add_day):
now = datetime.datetime.now()
delta = datetime.timedelta(days = add_day)
n_days = now + delta
mon_ago_temp = n_days.strftime('%Y-%m-%d')
return mon_ago_temp
def get_need_day(): #获取上个月的第一天和最后一天
now_time = get_now_time()
now_time_list = now_time.split("-")
count = 1
while 1:
count_time = (count)*(-1)
last_day_mon_ago = get_ago_time(count_time)
last_day_mon_ago_list = last_day_mon_ago.split("-")
if now_time_list[1] != last_day_mon_ago_list[1]:
first_day_month_ago = last_day_mon_ago_list[0] +"-"+ last_day_mon_ago_list[1] + "-1"
return first_day_month_ago, last_day_mon_ago
count = count + 1
def get_need_day_one_month(month_list = []): #获取指定月份的第一天和最后一天
now_time = get_now_time()
now_time_list = now_time.split("-")
count = 1
while 1:
count_time = (count)*(-1)
last_day_mon_ago = get_ago_time(count_time)
last_day_mon_ago_list = last_day_mon_ago.split("-")
if int(month_list[0]) == int(last_day_mon_ago_list[0]) and int(month_list[1]) == int(last_day_mon_ago_list[1]):
first_day_month_ago = last_day_mon_ago_list[0] +"-"+ last_day_mon_ago_list[1] + "-1"
return first_day_month_ago, last_day_mon_ago
count = count + 1
if __name__ =="__main__":
reload(sys)
sys.setdefaultencoding('utf-8')
# 根据参数情况来获取统计时间
try:
if sys.argv[1]:
print "sys.argv[1]---------",sys.argv[1] , type(sys.argv[1])
month_str = sys.argv[1]
month_list = month_str.split("-")
month_ago_first_day = get_need_day_one_month(month_list)[0]
month_ago_last_day = get_need_day_one_month(month_list)[1]
last_month = month_str
except Exception as e:
month_ago_first_day = get_need_day()[0]
month_ago_last_day = get_need_day()[1]
last_month_list = get_need_day()[0].split("-")
last_month = last_month_list[0] + "-" + last_month_list[1]
print "last_month == ", last_month, month_ago_first_day, month_ago_last_day