全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

本文实例讲述了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日期和字符串格式互相转换 https://www./article/66019.htm
t = time.strptime(_input, '%Y-%m-%d')
print(time.strftime('%j',t))

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

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

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

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

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

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


# Python  # 输入  # 某年  # 某月  # 某日  # 计算  # 第几天  # python输出指定月份日历的方法  # python实现根据月份和日期得到星座的方法  # python 计算两个日期相差多少个月实例代码  # 利用python获取当前日期前后N天或N月日期的方法示例  # Python实现按当前日期(年、月、日)创建多级目录的方法  # python获取指定日期范围内的每一天  # 每个月  # 每季度的方法  # python 输出上个月的月末日期实例  # Python 日期区间处理 (本周本月上周上月...)  # Python实例教程之检索输出月份日历表  # 操作技巧  # 几天  # 你也  # 可以用  # 要先  # 命令行  # 格式为  # 则需  # 格式转换  # 的是  # 进阶  # 这一  # 相关内容  # 那就  # 就好  # 均为  # 你想  # 你自己  # 感兴趣  # 数据结构 


相关文章: nginx修改上传文件大小限制的方法  宝塔建站无法访问?如何排查配置与端口问题?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  python的本地网站制作,如何创建本地站点?  如何在阿里云香港服务器快速搭建网站?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何制作网站标识牌,动态网站如何制作(教程)?  无锡营销型网站制作公司,无锡网选车牌流程?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何通过WDCP绑定主域名及创建子域名站点?  创业网站制作流程,创业网站可靠吗?  C#如何在一个XML文件中查找并替换文本内容  如何用y主机助手快速搭建网站?  如何将凡科建站内容保存为本地文件?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何登录建站主机?访问步骤全解析  如何在新浪SAE免费搭建个人博客?  建站主机SSH密钥生成步骤及常见问题解答?  建站主机选购指南:核心配置优化与品牌推荐方案  建站之星客服服务时间及联系方式如何?  广州建站公司哪家好?十大优质服务商推荐  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  代刷网站制作软件,别人代刷火车票靠谱吗?  相册网站制作软件,图片上的网址怎么复制?  如何选择香港主机高效搭建外贸独立站?  Android自定义listview布局实现上拉加载下拉刷新功能  如何快速搭建高效简练网站?  高端建站如何打造兼具美学与转化的品牌官网?  如何在建站主机中优化服务器配置?  移民网站制作流程,怎么看加拿大移民官网?  建站之星收费标准详解:套餐费用及年费价格表一览  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  平台云上自助建站如何快速打造专业网站?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  学校建站服务器如何选型才能满足性能需求?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何在万网开始建站?分步指南解析  建站之星导航配置指南:自助建站与SEO优化全解析  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何高效配置IIS服务器搭建网站?  活动邀请函制作网站有哪些,活动邀请函文案?  智能起名网站制作软件有哪些,制作logo的软件?  ,南京靠谱的征婚网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。