/*

从键盘输入一个日期,格式为 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. 计算两日期之间差多少天----日期格式为:yyyy-mm-dd

    计算两日期之间差多少天 日期格式为yyyy-mm-dd //计算日期差值的方法: //计算日期差值的方法: function getDaysBetween(dateString1, dateStrin ...

  2. Oracle 计算两个日期之间的年月、日期,月份数、天数

    目录 Oracle 计算两个日期之间的月份数.月份列表.天数.日期列表 Oracle 计算两个日期之间的月份数.月份列表.天数.日期列表 获取日期之间的月数(包括自身) 时间:2019-05-30 至 ...

  3. java中日期怎么_Java 中的日期处理

    最初学习 Java 时是采用学校教材和市面上的一些 Java 视频教程进行学习,到了工作中才发现有些 API 或包已经过时了.最近使用 Java 中的日期处理时发现 java.util.date 与 ...

  4. java怎么把毫秒转换成天数_Java 毫秒转换为日期类型、日期转换为毫秒

    //毫秒转换为日期 public static void main(String[] args) { DateFormat formatter = new SimpleDateFormat(" ...

  5. java编写统计玩家总数的程序_JAVA程序:输出一组数后如何统计特定数的总数

    题目:定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数,将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出... 题目:定义 ...

  6. 用Java 编写菜单价格和的程序_Java程序设计基础作业目录(作业笔记)

    持续更新中............. Java程序设计基础笔记 • [目录] 我的大学笔记>>> 第1章 初识Java>>> 1.1.4 学生成绩等级流程图练习 1 ...

  7. java编写一个可切换的界面_java web 项目实现手动中英文切换

    Java程序的国际化主要通过如下3个类完成 Java.util.ResourceBundle:用于加载资源包 Java.util.Locale:对应一个特定的国家/地区.语言环境 Java.text. ...

  8. java编写一个表示二维平面_JAVA习题集2精品名师资料.doc

    导读:java习题集2.doc,习题二一.判断题 1.一个类定义了一个或多个构造方法,则 Java 不提供默认的构造方法.( ) 2.如果定义的类中没有给出构造方法,系统也不会提供构造方法.( ) 3 ...

  9. java超大数整除7,Java编写程序:求1-100之间可以被7整除的数的个数,并输出这些数。求大佬...

    public class c {public static void main(String[] args) {for(int i=10;i<100;i++){if(i%7==0&&am ...

最新文章

  1. [Go]结构体及其方法
  2. Leetcode: Spiral Matrix
  3. 利用OpenCV进行边缘检测
  4. devc++ 运行时黑屏一闪而过
  5. 创建您自己的.NET DynamicObject 为什么、何时和如何
  6. web安全day36:Linux脚本编写自动修改IP地址
  7. 「兼容M1」iZotope RX 9 Advanced for Mac - 音频修复工具
  8. pycharm git使用_通过Pycharm中的版本控制工具VCS使用Git
  9. IDEA报错解决:Cannot resolve com.oracle:ojdbc7:12.1.0.2或‘com.oracle:ojdbc7:12.1.0.2‘ not found
  10. 自动执行bash被拒绝 提示/bin/sh: /test.sh: Permission denied
  11. 微信认证小程序如何绑定微信支付商户平台
  12. This scheduler instance is still active but was recovered by another instanc解决办法
  13. python应聘项目经历怎么写_简历中、面试中,怎么描述你的工作/项目经历?
  14. java抽象类重载_012 JAVA 抽象类、接口、String类的基础了解
  15. php header 转向,php使用header函数的http头设置大全(包含301转向及404状态)
  16. 基于MATALB的多光谱影像与全色影像(高分辨率)的融合的几种方法
  17. 不爱打空格的小孟c语言,语言学专家:很多年轻人发信息不爱用句号,其实都是有原因的...
  18. mysql删去root用户无法登录_MySQL误删root用户导致无法登陆解决方法
  19. 0413-0417数字资产每周数据速览 | TokenInsight
  20. 智能/傻瓜交换机、光纤交换机、普通交换机的区别

热门文章

  1. 【KERAS/直方图均衡化】图像数据集扩充
  2. hadoop--HDFS概述
  3. linux计划任务crond服务
  4. ES6学习笔记(三)—— Set 和 Map
  5. Asp.Net防止刷新重复提交数据的办法
  6. Hyper-V与VMware的技术特性对比
  7. Ext3.2 beta版已发布
  8. html 方式使用iview,VUE之iview框架使用教程
  9. c语言结构体 单科成绩排序,【查错】怎样让结构体其他信息(姓名)对应关键值(成绩)排序输出...
  10. 信息学奥赛一本通 1967:【14NOIP普及组】螺旋矩阵 | 洛谷 P2239 [NOIP2014 普及组] 螺旋矩阵