亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

日期時間函數,將 yyyymm 輸入轉換為月的開始和結束日期輸出

日期時間函數,將 yyyymm 輸入轉換為月的開始和結束日期輸出

收到一只叮咚 2022-09-20 17:14:45
我是使用日期時間的新手從 yyyymm(整數)的輸入input = 202003我想創建一個函數,將其轉換為該月第一天和最后幾天的int變量yyyymmdd,在本例中:start = 20200301 end =  20200331謝謝
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您可以使用日歷包:


import calendar

def get_start_end_month(input_):


    input_ = str(input_)


    year = int(input_[:4])

    month = int(input_[4:])


    start = int(input_+"01")

    end = int(input_+str(calendar.monthrange(year, month)[1]))


    return start, end

這里的輸入是一個int,但我建議使用字符串來處理日期時間


查看完整回答
反對 回復 2022-09-20
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

法典:


from datetime import datetime, date, timedelta


string = "202003" #--> Your input string

start = datetime.strptime(string, "%Y%m").date()


nextmonth = 1 if start.month == 12 else start.month + 1 # --> if current month is 12 cycle to 1

year = start.year + 1 if nextmonth == 1 else start.year


end = date(year, nextmonth, 1) - timedelta(days=1)


print("start:", start)

print("end:", end)

例如:


如果輸入是輸出將是,string202003


start: 2020-03-01

end: 2020-03-31

如果輸入是輸出將是,string202002


start: 2020-02-01

end: 2020-02-29

如果輸入是輸出將是,string202012


start: 2020-12-01

end: 2020-12-31


查看完整回答
反對 回復 2022-09-20
  • 2 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號