python日期運算 Python 日期計算器

2021-10-11 04:58:35 字數 3308 閱讀 4157

# -*- coding: utf-8 -*-

created on fri aug 16 2019

@author: yangyang

import easygui as g

import datetime

# 獲取今天的日期

today = datetime.date.today()

# 判斷日期是否合法

def is_date(date):

try:

datetime.datetime.strptime(date,"%y-%m-%d")

return true

except:

return false

#計算兩個日期相差天數

def caltime():

msg = "請輸入需要計算的日期"

title = "計算兩個日期的差"

fieldnames = ["日期1", "日期2"]

fieldvalues = [today,today]

fieldvalues = g.multenterbox(msg,title, fieldnames,values = fieldvalues)

while true:

date1 = fieldvalues[0]

date2 = fieldvalues[1]

if is_date(date1) and is_date(date2):

# 將字串轉為日期

date1 = datetime.datetime.strptime(date1,"%y-%m-%d")

date2 = datetime.datetime.strptime(date2,"%y-%m-%d")

date_difference = date2-date1

msg = "計算結果"

g.multenterbox(msg,title, fieldnames,values = fieldvalues)

break

else:

g.msgbox("日期格式輸入錯誤,請重新輸入")

fieldvalues = g.multenterbox(msg,title, fieldnames,values = fieldvalues)

# 判斷日期屬於第幾周星期幾

def calcalendar():

msg = "請輸入需要計算的日期"

title = "判斷日期屬於第幾周星期幾"

fieldnames = ["日期"]

fieldvalues = [today]

fieldvalues = g.multenterbox(msg,title, fieldnames,values = fieldvalues)

while true:

date = fieldvalues[0]

if is_date(date):

date = datetime.datetime.strptime(date,"%y-%m-%d")

calendar = datetime.date.isocalendar(date)

msg = "計算結果"

g.multenterbox(msg,title, fieldnames,values = fieldvalues)

break

else:

g.msgbox("日期格式輸入錯誤,請重新輸入")

fieldvalues = g.multenterbox(msg,title, fieldnames,values = fieldvalues)

# 判斷日期是該年的第幾天

def caldays():

msg = "請輸入需要計算的日期"

title = "判斷日期是該年的第幾天"

fieldnames = ["日期"]

fieldvalues = [today]

fieldvalues = g.multenterbox(msg,title, fieldnames,values = fieldvalues)

while true:

date = fieldvalues[0]

if is_date(date):

y,m,d=map(int,date.split("-"))

d=0days=[31,0,31,30,31,30,31,31,30,31,30,31]

if ((y%400==0)|((y%4==0)&(y%100!=0))):

days[1]=29

else:

days[1]=28

for i in range(m-1):

d=d+days[i]

msg = "計算結果"

g.multenterbox(msg, title, fieldnames, values = fieldvalues)

break

else:

g.msgbox("日期格式輸入錯誤,請重新輸入")

fieldvalues = g.multenterbox(msg,title, fieldnames,values = fieldvalues)

# 判斷是否要繼續計算

def calreply():

msg = "是否繼續計算"

choices = ["是","否"]

reply = g.buttonbox(msg, choices=choices)

if reply == "是":

return true

else:

return false

# 選擇需要計算的功能

def caldate(choice):

if choice == "計算兩個日期的差":

caltime()

if choice == "判斷日期屬於第幾周星期幾":

calcalendar()

if choice == "判斷日期是該年的第幾天":

caldays()

reply = calreply()

if reply==true:

choice = g.choicebox(msg, title, choices)

caldate(choice)

else:

return false

return true

msg ="選擇你需要的功能"

title = "日期計算"

choices = ["計算兩個日期的差", "判斷日期屬於第幾周星期幾", "判斷日期是該年的第幾天"]

choice = g.choicebox(msg, title, choices)

caldate(choice)

python 日期運算 python的日期運算

獲取當前日期 datetime.date.today import datetime today datetime.date.today today out 1 datetime.date 2020,11,2 在當前日期上加一天 tom today datetime.timedelta days 1...

Python日期加減運算

python中的time與datetime基本是你中有我,我中有你的關係,有時只想操作一部分反而不那麼方便。在碼 的過程中,需要從某個日期往前或者往後推移,手動計算又要考慮跨月份的問題。經過閱讀python官方文件,找到了日期加減推移運算的方法。乙個日期可以和乙個日期增量相加減。那麼,推算日期 時間...

Python日期時間的運算

一 日期時間計算 1 timedelta 兩個datetime之差 次類中包含如下屬性 1 days 天數 2 microseconds 微秒 0並且 1秒 3 seconds 秒數 0並且 1天 演示 fromdatetimeimportdatetime dt01 datetime 2012 12...