社区
Java
帖子详情
自然年怎么计算?
u010630819
2013-05-09 01:28:03
比如 2012-02-01 到 2013-01-01
天 周 月 季度 年
2011-12-31 334 48 11 4 1
2012-01-01 335 48 12 4 2
...全文
1075
5
打赏
收藏
自然年怎么计算?
比如 2012-02-01 到 2013-01-01 天 周 月 季度 年 2011-12-31 334 48 11 4 1 2012-01-01 335 48 12 4 2
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
良辰美景月光杯
2013-05-09
打赏
举报
回复
这个代码可以计算两个日期之间的天数(无论是什么年都可以) public class TianShu{ /**主程序的入口,有多个调用语句用来完成各项功能 程序无论main中还是方法中,变量的代表含义都是 一致的:ksn表示“开始的年份”;ksy表示“开始 的月份”;ksr表示“开始的日份(即那一天)”; zzn表示“终止时的年份”;zzy表示“终止的月份”; zzr表示“终止的日份”。*/ public static void main(String[] args) { int ksn=1998; int ksy=4; int ksr=5; int zzn=2001; int zzy=2; int zzr=16; int ts=0; //引用方法判断日期是否合法 boolean o = heGeRiQi(ksn,ksy,ksr,zzn,zzy,zzr); boolean p = riShiFouHeGe(ksn,ksy,ksr); boolean q = riShiFouHeGe(zzn,zzy,zzr); if(o==false) { int n = 1; System.exit(n); //中止程序不再运行下面的语句 } else if(p==false||q==false) { System.out.println("输入的日份非法!"); int n = 1; System.exit(n); //中止程序不再运行下面的语句 } if(ksn==zzn){ //同一年时 if(ksy==zzy) //同一个月份的天数计算方法调用 ts = tongNianYue(ksr,zzr); else if(((ksn % 4 == 0) && (ksn % 100 != 0)) || (ksn % 400 == 0)) //判断为闰年 ts = tongRunNianBuYue(ksy,ksr,zzy,zzr); //闰年天数计算方法调用 else ts = tongPinNianBuYue(ksy,ksr,zzy,zzr); //平年天数计算方法调用 }else { //不同年的天数计算方法调用 ts = buTongNian(ksn,ksy,ksr,zzn,zzy,zzr); } System.out.print(ts); } //同年同月的计算方法tongNianYue public static int tongNianYue(int ksr,int zzr) { int ts = zzr-ksr; return ts ; } //平年的同年不同月的计算方法 public static int tongPinNianBuYue(int ksy,int ksr,int zzy,int zzr) { int[] yue=new int[] {31,28,31,30,31,30,31,31,30,31,30,31}; int ts = yue[ksy-1] - ksr + zzr; int i = ksy + 1; while(i<zzy) { ts+=yue[i-1]; i++; } return ts ; } //润年的同年不同月的计算方法 public static int tongRunNianBuYue(int ksy,int ksr,int zzy,int zzr) { int[] yue=new int[] {31,29,31,30,31,30,31,31,30,31,30,31}; int ts = yue[ksy-1] - ksr + zzr; for(int i=ksy+1;i<zzy;i++) ts+=yue[i-1]; return ts ; } /*heGeRiQi方法主要用来判断年月是否合格,即都为正数 且开始年不在终止年之后;同一年的则开始月不在终止 月之后;同年月的开始日不在终止日之后。 */ public static boolean heGeRiQi(int kn,int ky,int kr,int zn,int zy,int zr) { boolean tem=true; if((kn<=0)||(ky<=0)||(kr<=0)||(zn<=0)||(zy<=0)||(zr<=0)) { System.out.println("输入的日期非法!"); tem = false; } else if(kn>zn) { System.out.println("输入的年份非法!"); tem = false; } else if((kn==zn)&(ky>zy)|(zy>12)) { System.out.println("输入的月份非法!"); tem = false; } else if(kn==zn&ky==zy&kr>zr) { System.out.println("输入的日份非法!"); tem = false; } return tem; } //判断日份是否合格,即日份不大于所在月份的最大日数 public static boolean riShiFouHeGe(int nian,int yue,int ri) { boolean tem = true; switch(yue) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(ri>31) tem = false; break; case 4: case 6: case 9: case 11: if(ri>30) tem = false; break; case 2: if(((nian % 4 == 0) && (nian % 100 != 0)) || (nian % 400 == 0)) { if(ri>29) tem = false; }else { if(ri>28) tem = false; } break; default : } return tem; } //不同年天数计算方法buTongNian public static int buTongNian(int ksn,int ksy,int ksr,int zzn,int zzy,int zzr) { int ts0=0; //开始年与终止年之间的年份的天数和,不包括开始年与终止年 int ts1=0; //开始年所在的那一年中的天数 int ts2=0; //终止年所在的这一年中的天数 int zjs=0; //计算开始年所在的那一年的天数 if(ksy==12) ts1 = tongNianYue(ksr,31); else { if(((ksn % 4 == 0) && (ksn % 100 != 0)) || (ksn % 400 == 0)) ts1 = tongRunNianBuYue(ksy,ksr,12,31); else ts1 = tongPinNianBuYue(ksy,ksr,12,31); } //计算终止年所在的那一年的天数 if(zzy==1) ts2 = tongNianYue(1,zzr); else { if(((zzn % 4 == 0) && (zzn % 100 != 0)) || (zzn % 400 == 0)) ts2 = tongRunNianBuYue(1,1,zzy,zzr); else ts2 = tongPinNianBuYue(1,1,zzy,zzr); } //加1是因为把终止年的1月1日当作起始日期计算,即这一天不在算作一天, //而实际上1月1日还是算一天,故要加1补回来 ts2 = ts2 + 1; //计算中间年份的天数 int i = ksn +1; while(i<zzn) { if(((i % 4 == 0) && (i % 100 != 0)) || (i % 400 == 0)) zjs += 366; else zjs +=365; i++; ts0 = zjs; } //计算总天数 int ts = ts0 + ts1 + ts2; return ts; } }
shine333
2013-05-09
打赏
举报
回复
请给出周的定义,即每周的第一天是什么?
跳蚤图
2013-05-09
打赏
举报
回复
没看懂问题。。。。。
u010630819
2013-05-09
打赏
举报
回复
人呢 人呢 这么冷清
u010630819
2013-05-09
打赏
举报
回复
急,速结贴
【Java】根据日历
计算
2个时间相差多少#
自然
#
年
、月、日、小时、分钟、秒
iOS 自带了控件,可以自动根据日历来
计算
2 个时间相差的
自然
年
、月、日、小时、分钟、秒。Java 没有自带此方法,只能自己来算了~ 一、竖式减法实现 我自己写了一个方法,测试了一些时间和 iOS 作对比,暂时没有发现什么问题。如有错误,欢迎指正,也欢迎提意见~ 源码见:TimeIntervalUtils.java 主要方法是 int[] getTimeIntervalArray(Cal...
JAVA未知时间段,
计算
自然
年
占用天数
依照需求,根据基础代码可进行调整。主要逻辑:按照开始时间排序时间段,而后遍历所有时间段。
2015
年
到2017
年
国家
自然
基金有关深度学习和
计算
机视觉的部分项目
以下是文字版本 方便查找 项目名称 项目负责人 依托单位 视觉数据描述自动生成的关键技术研究 徐常胜 中国科学院自动化研究所 面向机器人视觉的深度学习与拟人记忆机制特征提取融合方法研究 赵晓光 中国科学院自动化研究所 基于深度学习与迁移学习的图像自动语义标注方法研究 赵鹏 安徽大学 基于时空特征深度学习的无约束场景视觉目
重大
计算
机学院院标,
计算
机学院召开2021
年
国家
自然
科学基金申报动员会
10月15日下午,
计算
机学院在主教学楼1811会议室召开了2021
年
国家
自然
科学基金申报动员会。本次动员会邀请到了学校科学技术发展研究院谢卫东副院长以及胡学东主任来到学院为老师们讲解国家
自然
科学基金申请的注意事项。谢卫东首先介绍材料学院在科研管理工作方面的经验,指出只要努力深挖潜力,加大激励,一定能够把国家基金的申请率和资助率提高一个台阶。他为学院老师分析了近两
年
学校在国家基金申请和资助方面的新动...
未来的人机交互:2050
年
的
自然
语言处理与情感
计算
第1章: 引言与概述 1.1 2050
年
的人机交互前景 1.1.1 技术发展趋势 在2050
年
,人机交互将迎来前所未有的变革。首先,
自然
语言处理(NLP)技术将达到前所未有的高度。随着深度学习和生成对抗网络(GAN)等先进技术的不断发展
Java
51,408
社区成员
86,093
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章