本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法。分享给大家供大家参考,具体如下:

#基于 Python3

一种做法:

def is_leap_year(year): # 判断闰年,是则返回True,否则返回False

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:

return True

else:

return False

def function1(year, month, day): # 计算给定日期是那一年的第几天

leap_year = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

no_leap_year = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

if is_leap_year(year):

result = sum(leap_year[:month - 1]) + day

else:

result = sum(no_leap_year[:month - 1]) + day

return result

但是如果是你自己遇到了这样的需求,那么就没必要这么复杂了。因为Python内置了完善的时间和日期处理函数。

import datetime

import time

def function2(year, month, day): # 直接使用Python内置模块datetime的格式转换功能得到结果

date = datetime.date(year, month, day)

return date.strftime('%j')

需要注意的是,上面的写法里函数的参数分别是年月日的整数,如果你想传入字符串,比如"2016-10-1",那就需要先对字符串做处理了。

同样的,也可以自己做或者用内置函数。

# 假如输入格式为字符串(比如从命令行读入字符串2016-10-1),则需要先对输入内容进行处理

_input = '2016-10-1'

_year1 = int(_input.split('-')[0])

_month1 = int(_input.split('-')[1])

_day1 = int(_input.split('-')[2])

# 当然你也可以用datetime的内置方法进行格式处理

t = time.strptime(_input, '%Y-%m-%d')

_year2 = t.tm_year

_month2 = t.tm_mon

_day2 = t.tm_mday

下面是完整的代码,测试"2016-10-1"的结果均为275。

import datetime

import time

def is_leap_year(year): # 判断闰年,是则返回True,否则返回False

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:

return True

else:

return False

def function1(year, month, day): # 计算给定日期是那一年的第几天

leap_year = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

no_leap_year = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

if is_leap_year(year):

result = sum(leap_year[:month - 1]) + day

else:

result = sum(no_leap_year[:month - 1]) + day

return result

def function2(year, month, day): # 直接使用Python内置模块datetime的格式转换功能得到结果

date = datetime.date(year, month, day)

return date.strftime('%j')

print(function1(2016, 10, 1))

print(function2(2016, 10, 1))

# 假如输入格式为字符串(比如从命令行读入字符串2016-10-1),则需要先对输入内容进行处理

_input = '2016-10-1'

_split = _input.split('-')

_year1 = int(_split[0])

_month1 = int(_split[1])

_day1 = int(_split[2])

print(function1(_year1, _month1, _day1))

print(function2(_year1, _month1, _day1))

# 当然你也可以用datetime的内置方法进行格式处理

t = time.strptime(_input, '%Y-%m-%d')

_year2 = t.tm_year

_month2 = t.tm_mon

_day2 = t.tm_mday

print(function1(_year2, _month2, _day2))

print(function2(_year2, _month2, _day2))

# 后面发现我为了编函数写复杂了,如果输入是字符串其实一句话就好

import time

_input = '2016-10-1'

# 详见Python日期和字符串格式互相转换 //www.jb51.net/article/66019.htm

t = time.strptime(_input, '%Y-%m-%d')

print(time.strftime('%j',t))

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:http://tools.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:http://tools.jb51.net/bianmin/yinli2yangli

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

本文标题: Python编程实现输入某年某月某日计算出这一天是该年第几天的方法

本文地址: http://www.cppcns.com/jiaoben/python/187849.html

python输入某年某月某日判断这是第几天_Python编程实现输入某年某月某日计算出这一天是该年第几天的方法...相关推荐

  1. python计算某年某月多少天_Python编程实现输入某年某月某日计算出这一天是该年第几天的方法...

    本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法.分享给大家供大家参考,具体如下: #基于 Python3 一种做法: def is_leap_year(year): ...

  2. 【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

    题目: (1)有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号.姓名.3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中. 设5名学生的学号.姓名和3 ...

  3. 有五个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号、姓名、3门课程成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件stud中。

    有五个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号.姓名.3门课程成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件stud中. #include <stdio ...

  4. python圆面积的计算_Python编程题:输入圆半径,输出圆面积?python计算圆面积教程...

    python计算圆的面积,读程序,要求格式化输出浮点数s,并保留6位小数,请填写--缺少的语句? 你好,保留6位小数的代码是s="%.6f"%s. 第一个空是return s 第二 ...

  5. python任意输入一个正整数、判断该数是否为素数_Python编程判断一个正整数是否为素数的方法,python素数...

    Python编程判断一个正整数是否为素数的方法,python素数 本文实例讲述了Python编程判断一个正整数是否为素数的方法.分享给大家供大家参考,具体如下: import string impor ...

  6. python任意输入一个正整数、判断该数是否为素数_Python编程判断一个正整数是否为素数的方法...

    本文实例讲述了Python编程判断一个正整数是否为素数的方法.分享给大家供大家参考,具体如下: import string import math #判断是否素数的函数 def isPrime(n): ...

  7. python 输入5*5矩阵a、完成下列要求_python编程练习(五)

    一:喷水装置 长为20米,宽为2米,妈妈要他给草坪浇水,在草坪上放置半径为Ri的喷水装置,输入第一个数字为喷水装置的个数n,后面n个数字分别为n个喷水装置的半径r,r表示该喷水装置能覆盖的圆的半径[5 ...

  8. python求五个数中的最大值和最小值_python编程 求输入的10个数中的最大值和最小值,并输出它们各自是第几个...

    展开全部 importjava.util.ArrayList:e68a84e8a2ad3231313335323631343130323136353331333431373266 importjava ...

  9. python操作sqlserver如何判断删除的数据不存在_Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法...

    本文实例讲述了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法.分享给大家供大家参考,具体如下: 前言: 想把QQ日志爬虫(Python)爬下来的日志保存到 MongoD ...

最新文章

  1. 将Linux脚本中的正常输出,警告,错误等信息输出到文件中
  2. linux查看文件和文件夹大小
  3. can't request region for resource [mem 0xfed40080-0xfed40fff]问题的解决办法
  4. dict实现原理 python_5分钟看懂系列:Python 线程池原理及实现
  5. 获取图像像素点的概率分布图
  6. 【材料力学回顾】弯曲正应力公式
  7. Magicodes.IE在.NET Core中通过请求头导出多种格式文件
  8. VBA实现dwg批量输出PDF
  9. 日文windows系统 oracle数据库乱码的处理
  10. 实验三 配置和实施VLAN
  11. 对话苏宁张桂平 商协社团·万祥军:全国工商联谋民企凝聚力
  12. 动态照片怎么制作?这三款软件推荐给你
  13. 松翰烧录器在keil仿真时闪退,解决方法
  14. 生成对抗网络(GAN)详细介绍及数字手写体生成应用仿真(附代码)
  15. 编译原理——自上而下的语法分析方法(LL分析法)
  16. 拆30多元买的筋膜枪
  17. 为什么都在选择学习Java
  18. Ubuntu登录后一直停留在桌面,只显示桌面背景
  19. Opencv实现图像的加密解密
  20. zsh如何运行conda | zsh anconda | zsh终端下配置aonconda环境 | zsh: command not found: conda

热门文章

  1. 极客领航 C/C++|MCU|软件|物联网|嵌入式|Linux|辅助设计|飞行器
  2. 超声波测距仪编程_Arduino轻松学Mixly编程第9课 超声波测距仪
  3. level2买股技巧_同花顺level2使用技巧
  4. 学习三极管的原理和作用
  5. 单片机中的定时器计算
  6. 吃透一切整流滤波电路
  7. 诸葛管理:怎么才能快速提升执行力
  8. java sleep的意义_thread.sleep的作用是什么
  9. hihoCoder 1272 买零食
  10. cmd操作MySQL 多表查询(日记 day 4)