用python写的某个月的第一天和最后一天

用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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值