时间真的会改变些什么 - 至Python
2015-04-18 05:23
148 查看
在学校的19年,练习册上的加分题总是习惯性的视而不见,作业做完就好,课文不要求背诵就不会多看一眼。谁想到,工作三年开始自学python,竟然默默写起了选做题。想想总有一丝丝诙谐,原来为自己学真的会有所不同。特此贴出这么纪念性的一题,以示纪念。
# Assume that the birthday and current date are correct dates (and no time travel).
def daysBetweenDates(year1, month1, day1, year2, month2, day2):
years = list(range(year1,year2+1))
if len(years) == 1:
return toLastDay(year1,month1,day1) - toLastDay(year2,month2,day2)
else:
daysInYears = 0
for y in years[1:]:
daysInYears = daysInYears + toLastDay(y,1,1)
if len(years) == 2:
return toLastDay(year1,month1,day1) + daysInYears - toLastDay(year2,month2,day2)
return toLastDay(year1,month1,day1) + daysInYears - toLastDay(year2,month2,day2) - 1
def toLastDay(year, month, day):
if isLeapYear(year):
daysOfMonths = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
else:
daysOfMonths = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
n = 0
for m in list(range(month,12+1)):
n = n + daysOfMonths[m-1]
return n - day + 1
def isLeapYear(year):
return year%4==0
# Assume that the birthday and current date are correct dates (and no time travel).
def daysBetweenDates(year1, month1, day1, year2, month2, day2):
years = list(range(year1,year2+1))
if len(years) == 1:
return toLastDay(year1,month1,day1) - toLastDay(year2,month2,day2)
else:
daysInYears = 0
for y in years[1:]:
daysInYears = daysInYears + toLastDay(y,1,1)
if len(years) == 2:
return toLastDay(year1,month1,day1) + daysInYears - toLastDay(year2,month2,day2)
return toLastDay(year1,month1,day1) + daysInYears - toLastDay(year2,month2,day2) - 1
def toLastDay(year, month, day):
if isLeapYear(year):
daysOfMonths = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
else:
daysOfMonths = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
n = 0
for m in list(range(month,12+1)):
n = n + daysOfMonths[m-1]
return n - day + 1
def isLeapYear(year):
return year%4==0
相关文章推荐
- 开始,新的时间,就是不知道有什么会改变······
- 时间不在,我们能改变什么呢?(转)
- python笨办法解决zipfile解压会改变文件最后修改时间的问题
- 时间到底改变了什么
- Python中时间戳与时间字符串相互转换
- 【数据处理·Python】时间数据处理之Arrow库(转)
- Python的GIL是什么鬼,多线程性能究竟如何
- 本来想写点什么的,可是近阶段忙着项目,没有时间
- python 时间计算
- python之关于时间的小玩意,很受启发
- python获取系统时间戳
- Python时间处理总结
- python时间函数和常用格式化
- python 时间
- 找出满足a+b+c=n(n为正整数)的所有毕达哥拉斯元组(a,b,c)【python实现,时间复杂度优化】
- Oracle 10g RAC过段时间会出现如下ALTER.LOG,什么原因
- python改变形参的值
- [python&php 网络编程]从网络时间服务器获取并打印当前时间
- Python3之时间模块
- Pythonic到底是什么玩意儿?