#include <stdio.h>//为什么要开大小为13的数组?为了使月份与下标对应。例如一月day_p[1]==31
int day_p[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int day_r[13] = { 0,31,29,31,30,31,30,31,31,30,31,30,31 };//年月日转天数 思路:
1,判断润/平年
2,遍历对应的数组,依次把每月的天数相加,直到你输入的月份为止例如,你输入的是2007年7月21日,遍历到6月就行了。然后把你输入的天数(21)加上int Dayfofyear(int year, int month, int day) {//判断润年int res = 0;bool st = false;if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {st = true;}if (st) {for (int i = 1; i < month; i++) {res = res + day_r[i];}res += day;}else {for (int i = 1; i < month; i++) {res = res + day_p[i];}res += day;}return res;
}//天数转月日 思路:
1,判断润年,遍历对应的数组
2,依次遍历月份数组,直到你的天数总和(res) > yearday。这时就说明你天数加多了,需要倒退。所以要 month--举个例子,模拟一下。假如你输入的是 2009 209
1,这个是平年,使用对应的数组。 总天数res=0遍历一月i=1,res=res+[1]=31,i++
遍历二月i=2,res=res+[2]=31+28=59,i++
遍历三月i=3,res=res+[3]=59+31=90,i++
遍历四月i=4,res=res+[4]=90+30=120,i++
遍历五月i=5,res=res+[5]=120+31=151,i++
遍历六月i=6,res=res+[6]=151+30=181,i++
遍历七月i=7,res=res+[7]=181+31=212,i++
这时res=212>209。说明肯定是处于7月份的,因为当1~~7月总天数为212天
但现在i==8,所以回退月份i--
然后把多加上的天数减去,res=res-[7]=212-31=181
1~~6月总天数为181天,所以咱们处于7月份,第209-181=28天void MonthDay(int year, int yearday) {int res = 0;bool st = false;if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {st = true;}int month = 1,day;if (st) {while (res < yearday) {res = res + day_r[month];month++;}month--;res -= day_r[month];day = yearday - res;}else {while (res < yearday) {res = res + day_p[month];month++;}month--;res -= day_p[month];day = yearday - res;}
}int main() {//输入输出自己搞return 0;
}

年月日转天数,天数转月日相关推荐

  1. P123.8 编写程序显示单月的日历,用户指定这个这个月的天数和该月的起始日是星期几?

    编写程序显示单月的日历,用户指定这个这个月的天数和该月的起始日是星期几? #include<stdio.h> int main(void) {     int i, a, b, x;   ...

  2. python 月日年转年月日_在Python中将年/月/日转换为年份

    在Python中将年/月/日转换为年份 我正在使用Python的"date时间"模块,即: >>> import datetime >>> to ...

  3. Java工具-获取某月份天数、某月最后一天、某月工作日天数(支持自定义节假日)

    Java工具-获取某月份天数.某月最后一天.某月工作日天数(支持自定义节假日) 因为之前在项目中有一个工作日志的功能,所以在网上找了一些相关的工具类,都是零零散散,我在这总结一下.废话不多说,上代码! ...

  4. Oracle获取一周前,一个月前,一年前的日期,一个月的总天数、一个月的全部日期

    目的:Oracle获取一周前,一个月前,一年前的日期,一个月的总天数.一个月的全部日期 1.获取10分钟前的日期 select sysdate,sysdate-interval '10' minute ...

  5. 小技巧:excel中月日年改年月日

    今日翻''墙下数据,得到的csv文件用excel打开,发现日期一行是"月/日/年"这样的格式.程序读取这个字段竟然是object类型,不能自动识别为日期.我第一想到的是在" ...

  6. C语言根据日期(年,月,日)判断星期几(使用基姆拉尔森计算公式)

    C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下:  基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日 ...

  7. 用python 获取当前时间(年-月-日 时:分:秒),并且返回当前时间的下一秒

    获取当前时间,并且返回当前时间的下一秒 因为存在年-月-日 时:分:秒 考虑到用split的方法做的话非常麻烦 所以引入time和datetime模块 当然 也可以改写成输入一个时间 代码实现 imp ...

  8. Axure 高保真 日期选择器实现 可选任意年/月/日

    一.原型特点 1,采用开源的elementUi原生打造,高保真100%还原该控件所有功能,可选择任意年/月/日,是万能的日历选择器. 2,完美解决日历中每月天数与星期的排列关系 3,完美解决闰年问题 ...

  9. 【C语言】世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

    世界上不同国家有不同的写日期的习惯.比如美国人习惯写成"月-日-年",而中国人习惯写成"年-月-日".下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯 ...

最新文章

  1. 与HTTP关系密切的协议:IP、TCP、DNS
  2. 关于Enterprise Library 两个网占.
  3. Android版网易云音乐唱片机唱片磁盘旋转及唱片机机械臂动画关键代码实现思路...
  4. Tensorflow【实战Google深度学习框架】TensorFlow模型的保存与恢复加载
  5. wxWidgets:wxHashSet类用法
  6. Android 自定义属性时TypedArray的使用
  7. oracle 备份教研归档失败,归档日志丢失造成Rman备份失败解决办法
  8. vb.net word 自定义工具栏_Word双面快速简捷打印?
  9. android,PHP解析JSON数组,JSONArray,JSONOject,乱码
  10. 【转】Android Studio安装配置学习教程指南 Gradle基础--不错
  11. python: Requests库的一些高级特性
  12. 面试java回答优缺点_面试时被问“你有什么优缺点”应该怎么回答?
  13. 微信小程序商城后台服务器,首先【基础配置】:完成小程序关联商城后台及配置微信支付...
  14. little endian c语言,c语言那些细节之little-endian和big-endian
  15. 教我简单学计算机初步,零基础教你用电脑:常用简单操作介绍
  16. 编程题--疯狂序列----京东大数据笔试
  17. 基于AR虚拟现实技术的维基世界浏览器wikitude
  18. 汉信码在iOS客户端中的应用和遇到的坑
  19. mysql中日期相减_解放双手!用这3个日期函数解决入职、工龄等天数的计算
  20. unity gpu instancing

热门文章

  1. 程序员感慨:拒绝互联网高薪,跑去事业单位修行,我后悔了
  2. esp8266温度传感器
  3. 如何使用CCES来生成双核DSP的可烧写文件以及Flash Program
  4. 基于selenium实现12306模拟登陆
  5. 《亲爱的课堂》观后感_550字
  6. 计算机大赛颁奖大会,学子风采|计算机与软件工程学院举行2019届考研表彰大会暨“互联网+”大赛颁奖仪式...
  7. 语音增强——基本谱减法及其python实现
  8. 红鹰工作微信管理监控系统诞生!
  9. Redis大通关系列-数据结构深入
  10. 金笛邮件系统功能清单