python函数判断闰年/天数等

练习一:

写一个判断闰年的函数,参数为年、月、日。若是是闰年,返回True。

目前找到的最简洁的写法,喜欢这种去实现。

1 #判断闰年
2 def is_leap_year(year):
3     return  (year % 4 == 0 and year % 100 != 0) or year % 400 == 0

引申一下,判断是这一年的第几天。

 1 #判断是这一年的第几天
 2 def getDayInYear(year,month,day):
 3     month_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
 4     if is_leap_year(year):
 5         month_day[1]=29
 6     return sum(month_day[:month - 1]) + day
 7
 8 print(getDayInYear(2008,1,1))
 9 print(getDayInYear(2008,10,1))
10 print(getDayInYear(2009,10,1))

当然,python自带datetime模块,我们可以多一种方法去实现。

1 import datetime        #导入datetime模块
2 def getDayInYear(year, month, day):
3     date = datetime.date(year, month, day)
4     return date.strftime(‘%j‘)              #返回当天是当年的第几天,范围[001,366]
5
6 print(getDayInYear(2008,1,1))
7 print(getDayInYear(2008,10,1))
8 print(getDayInYear(2009,10,1))

练习二:

有一个文件,文件名为output_1981.10.21.txt 。

下面使用Python:读取文件名中的日期时间信息,并找出这一天是周几。

将文件改名为output_YYYY-MM-DD-W.txt (YYYY:四位的年,MM:两位的月份,DD:两位的日,W:一周的周几,并假设周一为一周第一天)

使用正则和时间函数实现。

 1 import re,datetime
 2 m = re.search(‘output_(?P<year>\d{4}).(?P<month>\d{2}).(?P<day>\d{2})‘,‘output_1981.10.21.txt‘)
 3 #获取周几,写法一
 4 def getdayinyear(year,month,day):
 5     date = datetime.date(year,month,day)
 6     return date.strftime(‘%w‘)
 7 W = getdayinyear(1981,10,21)                  #这种写法适用于多个日期
 8
 9 #获取周几,写法二
10 W = datetime.datetime(int(m.group(‘year‘)),int(m.group(‘month‘)),int(m.group(‘day‘))).strftime("%w")    #单个日期的写法
11
12 #参考
13 >>> from datetime import datetime
14 >>> print datetime(1981,10,21).strftime("%w")    #单个日期的写法
15
16 filename = ‘output_‘ + m.group(‘year‘) + ‘-‘ + m.group(‘month‘) + ‘-‘ + m.group(‘day‘) + ‘-‘ + W + ‘.txt‘
17 #可以尝试下用rename方法去写
18
19 print (W)
20 print (filename)

原文地址:https://www.cnblogs.com/shengyin/p/11235626.html

时间: 2024-09-30 15:37:37

python函数判断闰年/天数等的相关文章

0137 函数案例:数组翻转、冒泡排序、判断闰年

函数内部可以调用另一个函数,在同一作用域代码中,函数名即代表封装的操作,使用函数名加括号即可以将封装的操作执行. // demo:利用函数翻转任意数组 reverse 翻转 function reverse(arr) { var newArr = []; for (var i = arr.length - 1; i >= 0; i--) { newArr[newArr.length] = arr[i]; } return newArr; } var arr1 = reverse([1, 3, 4

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

oracle /plsql 计算平闰年天数函数

--计算平闰年天数函数 CREATE OR REPLACE FUNCTION f_ping_run_nian (i_year NUMBER --定义函数名 ) RETURN VARCHAR2 IS --定义返回(输出)字符类型 v_tianshu varchar2(5); --定义输出(返回)变量 BEGIN SELECT CASE MOD(i_year,4) --取除以4的余数 WHEN 0 --如果是0,则是闰年,应为366天 THEN '366' ELSE '365' --否则为365天

Python中判断是否为闰年,求输入日期是该年第几天

#coding = utf-8 def getLastDay(): y = int(input("Please input year :")) m = int(input("please input month :")) d = int(input("Please input day :")) s=0 if y <1: y=1 if m <1: m=1 if m>12: m=12 if d <1: d=1 mothday=

java python oracle判断字符串是否为数字的函数

java public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9]+"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; } python def isNum(value): try: int(value) + 1 except

php 使用自定义函数 在循环里判断闰年

<?php /** 使用自定义函数 在循环里判断闰年 **/ function is_runnian($year){ //自定义函数 if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) { return true; }else { return false; } } for($year=1500;$year<=2000;$year++) { if(is_runnian($year)) { echo $year.'

【python】判断年份是否为闰年

1.计算今年是闰年嘛?判断闰年条件, 满足年份模400为0, 或者模4为0但模100不为0. 代码如下: 1 x = int(raw_input('please enter a year:')) 2 if x % 4 == 0 and x % 100 != 0: 3 print 'yes' 4 elif x % 400 == 0: 5 print u"yes" 6 else: 7 print u"no" 关键点: 1.sublime text 2中需要加载subli

Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数

一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.

六、Python函数

Python函数 一.函数 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字 可以通过函数名在程序的不同的地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句 自定义函数和预定义函数 函数作用:降低编程的难度.代码重用 当我们自己定义一个函数时,通常使用def语句 def 函数名(参数列表): #可以没有参数 函数体 #!/usr/bin/python a = int(raw_input("please enter a number:&quo