前言:
此时小伙伴们对“python中date函数”大概比较关切,同学们都想要知道一些“python中date函数”的相关知识。那么小编在网络上搜集了一些关于“python中date函数””的相关文章,希望你们能喜欢,大家一起来学习一下吧!前言
正常人的思路通常是先判断闰年和平年,然后将每个月的天数相加再加上输入的天数。在平年中,有7个月每月都有31天,这几个月分别是1月、3月、5月、7月、8月、10月和12月。我们可以定义两个数组,一个用于存放闰年,另一个用于存放平年。
对于计算每个月的天数,我们可以使用一个简单的算法。首先,我们知道2月份的天数在闰年和平年是不同的,所以需要单独处理。对于其他月份,可以使用一个循环来累加每个月的天数
完整代码如下
def isleap(year): if(year%4==0 and year%100 != 0) or year%400==0: # 闰年 # print(f"{year}年是闰年") return 1 else: # print(f"{year}年是平年") return 0def calc_day(year,month,day): leap = isleap(int(year)) if leap == 1: total_day = sum(leap_list[:int(month)-1]) + int(day) print(f"闰年{raw_data}是第{total_day}天") else: total_day = sum(month_list[:int(month)-1]) + int(day) print(f"平年{raw_data}是第{total_day}天")if __name__=='__main__': month_list = [31,28,31,30,31,30,31,31,30,31,30,31] # 平年每月天数 leap_list = [31,29,31,30,31,30,31,31,30,31,30,31] # 闰年每月天数 raw_data = input("请输入年月日格式如2023-11-12:") year ,month ,day = raw_data.split("-") calc_day(year,month,day)
在代码里面我们定义了计算闰年跟平年的函数 isleap(year)它输入年,然后返回闰年是1,平年是0,还定义了一个计算天数的函数calc_day(year,month,day),它接收3个参数,年,月,日,最后面还在if __name__=='__main__':中定义两个数据,用来存放每个月天数的,估计大部分人都是这样的写,但是这样写的话一点都不Python,下面教大家Python的正确写法
完整代码如下
import datetimeraw_data = input("请输入年月日格式如2023-11-12:")year ,month ,day = raw_data.split("-")date = datetime.date(int(year), int(month), int(day))total_day = date.timetuple().tm_ydayprint(f"{raw_data}是第{total_day}天")
以上代码使用python 自带的库,datetime.timetuple() 是 Python 中的一个方法,用于将 datetime 对象转换为一个包含年、月、日、时、分、秒的元组。这个方法返回的元组中的元素顺序为:年、月、日、时、分、秒、一周中的第几天(0-6,0 表示星期一)、一年中的第几天(1-366)以及是否为夏令时(-1、0 或 1)。
标签: #python中date函数 #python计算一年有多少秒