/*

从键盘输入一个日期,格式为 yyyy-M-d

要求计算该日期与 1949 年 10 月 1 日距离多少天

例如:

用户输入了:1949-10-2

程序输出:1

用户输入了:1949-11-1

程序输出:31

*/

package Question20_29;

import java.util.Scanner;

public class Question24MustRemember {

public static int dayOfYear[]={365,366};//平年365天,闰年366天

public static int dayOfMonth[][]={

46

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

};

public static int dayOfYearIndex(int year){ //根据是否是闰年来给出dayOfYear的数组的下标

if((year%4==0&&year%100!=0)||year%400==0){

return 1;

}

return 0;

}

public static int dayApartFromTheBrginOfYear(int year,int month,int day){//计算month月day日是year年的第

几天

int days=day;

for (int i = 1; i < month; i++) {

days+=dayOfMonth[dayOfYearIndex(year)][i];

}

return days;

}

public static int apartDays(String startDayString,String endDayString ) {

String s1[]=startDayString.split("-");

String s2[]=endDayString.split("-");

int days=0;

int flag;

int startYear=Integer.parseInt(s1[0]);

int endYear=Integer.parseInt(s2[0]);

int startMonth=Integer.parseInt(s1[1]);

int endMonth=Integer.parseInt(s2[1]);

int startDay=Integer.parseInt(s1[2]);

int endDay=Integer.parseInt(s2[2]);

for (int i = startYear; i < endYear; i++) {

days+=dayOfYear[dayOfYearIndex(i)];

}

days+=dayApartFromTheBrginOfYear(endYear,endMonth,endDay);

days-=dayApartFromTheBrginOfYear(startYear,startMonth,startDay);

return days;

}

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

String startDayString="1949-10-01";

String endDayString=scanner.nextLine();

System.out.println(apartDays(startDayString, endDayString));

}

47

}

运行结果:

输入日期格式为:(1949-10-2)

输入第一个日期:1949-10-2

输入第二个日期:1949-11-2

1949-10-2 到 1949-11-2

距离 31 天

java编写日期_java实现输入日期相关推荐

  1. java编写在输入特定日期之间_java实现输入日期

    /* 从键盘输入一个日期,格式为 yyyy-M-d 要求计算该日期与 1949 年 10 月 1 日距离多少天 例如: 用户输入了:1949-10-2 程序输出:1 用户输入了:1949-11-1 程 ...

  2. java中输入日期_Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  3. java日期时间转日期_Java时间和日期指南

    java日期时间转日期 长期以来,正确处理日期,时间,时区,夏令时,and年等一直是我的烦恼. 本文并不是一个全面的指南时域,请参阅日期和时间在Java中 -更详细,但略有下降,ekhem,日期. 它 ...

  4. java 日期_Java中的日期操作

    Date : getTime() .setTime() SimpleDateFormate :   Formate(Date). parse(String s) Calendar : getInsta ...

  5. java中转换日期_java中时间日期格式讲解和转换方法

    额,其实做项目一个无可避免的工具包就是时间日期格式的转换.因为时间久了所以自己也存了好多关于转换的方法之类的.但是有时候就会不满足需求,手写一时半会儿还写不出来(我不知道是不是我太菜了,知道某类大概有 ...

  6. java 创建 时间_java创建Date日期时间笔记

    (1)public Date() 创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间. 例: Java代码 1.Date today=new Date();  //today被设置成创建时刻相 ...

  7. java 大于当前日期_javascript日期验证之输入日期大于等于当前日期_javascri

    本文实例分析了javascript输入日期大于等于当前日期验证代码,分享给大家供大家参考,具体如下: <script> $(function () { var d = new Date() ...

  8. java 编写代码_Java 7:如何编写非常快速的Java代码

    java 编写代码 当我第一次写此博客时,我的目的是向您介绍ThreadLocalRandom类,它是Java 7中新增的用于生成随机数的类. 我在一系列微基准测试中分析了ThreadLocalRan ...

  9. java编写程序_对输入的年月日_给出该天是该年的第多少天?_编写Java程序。当以年月日的格式输入一个日期时,输出该年是否是闰年,该月有几天,该日是星期几...

    满意答案 控制不住的愤怒 2017.12.20 采纳率:59%    等级:9 已帮助:414人 public static void main(String[] args) throws Parse ...

最新文章

  1. php 语言文件操作,php中目录文件操作详谈
  2. firefox BUG --输入法转换时,关闭浏览器. 5555....... 心碎...
  3. 美女的床真的好难爬......
  4. mysql中查询出现的错误_在MySQL查询中查询语法错误
  5. 【Linux】linux grep过滤中,不包含某些字符串
  6. SQL_server 数据库备份信息查看
  7. html5 canvas图表,Chart.js基于Canvas画布的HTML5统计图表库 - 资源分享
  8. mysql之解决“mysql server has gone away“的问题
  9. 研华数据采集卡如何采集压力信号转化为数字信号_感知世界的模拟量信号
  10. ureport 显示html,UReport2 与业务结合
  11. Python练习题答案: IRR计算 - 盈利能力的评价【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战
  12. Linux中的多路IO转接,转载
  13. 在ARM板上的linux系统中查看进程实际使用物理内存
  14. 使用ivx中表格组件的经验总结
  15. 软件外包项目管理4 - 项目计划
  16. week4 day3/4 常用模块
  17. 图灵社区 : 阅读 : [讨论] Java语言被很多人抱怨语法繁琐、开发效率低、体系繁杂而笨重,为什么还有这么强的生命力,尤其是在企业软件领域?...
  18. 数据库学生,课程实体联系(E-R)图
  19. L2-026 小字辈 (25 分)(深搜详解)
  20. 《程序员》2012年9期精彩内容:IT运维自动化

热门文章

  1. java之Iterator迭代器用法详细分析(全)
  2. cocos2dx---游戏摇杆类(观察者模式控制英雄移动)
  3. 微信群100人限制解除 群主可继续邀请朋友进群
  4. python高级在线题目训练-第二套·主观题
  5. 前端支付页面轮询支付状态
  6. 斐波那契数列的两种解题方式
  7. 机器人工程毕业设计☞外文翻译
  8. 北大穗志方教授:从语言到知识—构建语言智能的基石
  9. 手把手教你:jsp中无法使用My97DatePicker的解决方法
  10. windows11打开ie浏览器