黑马程序员-计算从你出生到今天为止的总天数?
2016-06-27 10:20
477 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
标题要是改成“计算一下你来到这个世界多少天?”,恐怕很多人计算出来后会很吃惊原来自己来到这世上也只是白驹过隙、昙花一谢。
呵呵! 不多说直接看代码!!
标题要是改成“计算一下你来到这个世界多少天?”,恐怕很多人计算出来后会很吃惊原来自己来到这世上也只是白驹过隙、昙花一谢。
呵呵! 不多说直接看代码!!
/** * 需求:算一下你来到这个世界多少天? * 四年一闰,百年不闰,四百年再闰 * 分析: * 根据你输入的的生日日期和获取当前时间日期计算天数 * 分段处理: * 1.出生日期到当年年底的总天数 * 2.出生当年的下一年到今年的前一年的总天数 * 3.今年年初到现在日期的总天数 * * @author Administrator * */ public class Test9 { public static void main(String[] args) { //输入出生年月日 System.out.println("请输入出生的年份:"); Scanner scanner=new Scanner(System.in); int year = scanner.nextInt(); System.out.println("请输入你出生的月份:"); int mouth = scanner.nextInt(); System.out.println("请输入你出生的日期:"); int day = scanner.nextInt(); System.out.println("你出生的年月日:"+year+"-"+mouth+"-"+day); //获取当前时间 int num=0;//用来统计天数 //计算从你出生那年到那年年终有多少天 //计算出生当月还剩多少天 switch (mouth) { case 1: num=31-day; break; case 3: num=31-day; break; case 5: num=31-day; break; case 7: num=31-day; break; case 8: num=31-day; break; case 10: num=31-day; break; case 11: num=31-day; break; case 4: num=30-day; break; case 6: num=30-day; break; case 9: num=30-day; break; case 12: num=30-day; break; case 2: if(year%4==0 && year%100!=0 || year%400==0){ num=29-day; }else{ num=28-day; } break; default: break; } //计算出生当月到哪年年底还剩多少天 for(int i=mouth+1;i<=12;i++){ //判断出生年是否是闰年:四年一闰,百年不闰,四百年再闰 num = getToatalDayByMouth(year, i, num); } //得到当前时间的年月日的int类型数据 Date date=new Date(); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); String string = simpleDateFormat.format(date); String cyear = string.substring(0, 4); String cmouth=string.substring(6, 7); String cday = string.substring(8, string.length()); int year0 = Integer.parseInt(cyear); int mouth0 = Integer.parseInt(cmouth); int day0 = Integer.parseInt(cday); System.out.println(year0); System.out.println(mouth0); System.out.println(day0); //计算出生下一年到至今年初有多少天 for(int i=year+1;i<year0;i++){ //判断该年是不是闰年 四年一闰,百年不闰,四百年再闰 if(i%4==0&&i%100!=0||i%400==0){ num+=366; }else{ num+=365; } } //计算今年年初到上个月底多少天 for(int i=1;i<mouth0;i++){ //判断出生年是否是闰年:四年一闰,百年不闰,四百年再闰 num= getToatalDayByMouth(year0, i, num); } num+=day0; System.out.println(num); } //通过获取的月份得到总天数 private static int getToatalDayByMouth(int year, int mouth, int num) { switch (mouth) { case 1: num+=31; break; case 3: num+=31; break; case 5: num+=31; break; case 7: num+=31; break; case 8: num+=31; break; case 10: num+=31; break; case 11: num+=31; break; case 4: num+=30; break; case 6: num+=30; break; case 9: num+=30; break; case 12: num+=30; break; case 2: if(year%4==0 && year%100!=0 || year%400==0){ num+=29; }else{ num+=28; } break; default: break; } return num; } }
相关文章推荐
- 一个关于if else容易迷惑的问题
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序