提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、需求及解题思路
  • 二、代码实现
  • 三、总结

前言

提示:这里可以添加本文要记录的大概内容:

这周学习了常用类&异常体系之后,在做作业时发现了一道很有意思的题,于是便把这道题分享出来。


提示:以下是本篇文章正文内容,下面案例可供参考

一、需求及解题思路

要想计算出两个日期之间的间隔天数,我们首先想到的是使用Date日期类,并使用其中的getTime()方法去获取两个日期的毫秒值,将两个毫秒值相减,得到一个差值,再将这个差值除以10006060*24,就能得到我们想要的结果。

二、代码实现

  1. 首先我们应该导入java.util.Date和java.text.SimpleDateFormat这两个包,并使用SimpleDateFormat类定义格式。
import java.text.SimpleDateFormat;
import java.util.Date;public class Time {public static void main(String[] args) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Time.fun(sdf);}public static void fun(SimpleDateFormat sdf) throws ParseException {//设置开始日期Date startTime = sdf.parse(s1);//设置结束日期Date endTime = sdf.parse(s2);String start = Utility.dateToString(startTime,"yyyy年MM月dd日");String end = Utility.dateToString(endTime,"yyyy年MM月dd日");//中间相差的天数long betweenTime = (endTime.getTime()-startTime.getTime())/(1000*60*60*24);System.out.println(startTime+"\t到\t"+endTime+"\t共相差:"+betweenTime+"天");}
}
  1. 定义一个工具类,写出String类型和Date类型互相转换的方法,然后在主方法中,用这个方法来定义格式
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Utility {private Utility() {}public static String dateToString(Date d,String format) {SimpleDateFormat sdf = new SimpleDateFormat(format);String s = sdf.format(d);return s;}public static Date StringToDate(String s,String format) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat(format);Date d = sdf.parse(s);return d;}
}
  1. 最后剩下的就是测试类,调用定义的工具类的方法,并传入需要修改的日期对象,再传入格式,用String类型接收即可。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class Time {public static void main(String[] args) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Time.fun(sdf);}public static void fun(SimpleDateFormat sdf) throws ParseException {Scanner sc = new Scanner(System.in);System.out.println("请输入开始日期:(格式:2010-09-20)");String s1 = sc.next();System.out.println("请输入结束日期:(格式:2010-09-20)");String s2 = sc.next();//设置开始日期Date startTime = sdf.parse(s1);//设置结束日期Date endTime = sdf.parse(s2);String start = Utility.dateToString(startTime,"yyyy年MM月dd日");String end = Utility.dateToString(endTime,"yyyy年MM月dd日");//中间相差的天数long betweenTime = (endTime.getTime()-startTime.getTime())/(1000*60*60*24);System.out.println(startTime+"\t到\t"+endTime+"\t共相差:"+betweenTime+"天");}
}

三、总结

通过这道题我们可以举一反三,可以解决相似的更多问题。例如,计算一个人从出生到现在过了多少天;计算今天到未来的某一天还有多少天等等。

趣味题——求两个日期之间相隔的天数相关推荐

  1. python日期间隔天数_Python编程题5--计算两个日期之间相隔的天数

    题目 已知任意两个日期,计算出两个日期之间相隔的天数. 实现思路1 这里我们运用 Python 里面内置模块 time 来处理问题. 已知2个日期,格式为 yyyy-mm-dd 通过 time.str ...

  2. C#求两个日期之间相差的天数和当前日期+30天插入数据库

    求两个日期之间相差的天数 //数据库表的登录时间DateTime lastTime = dynamic.lastTime;//会员到期时间DateTime expireTime = dynamic.e ...

  3. 如何计算两个日期之间相隔的天数?calendar的用法

    //首先定义一个calendar,必须使用getInstance()进行实例化 Calendar aCalendar=Calendar.getInstance(); //设置时间为 2004 年 8 ...

  4. 【javaScript获取时间,计算任意两个日期之间相隔的天数】计算任意两个日期之间相隔的天数

    主要算法: 利用毫秒差,由于1000毫秒等于1秒,60秒等于1分钟,60分钟一小时,一天24小时.所以可以用:毫秒差 除 以(60×60×1000×24)等于天数. 代码如下: <script ...

  5. 趣味题:求两个日期之间的相隔天数

    导语 朋友们大家好,今天给大家带来一个经典题目,求两个日期之间的相隔天数. 目录 目录 导语 目录 一.需求及思路 二.代码实现 源码部分 utility工具类 Time测试类 一.需求及思路 首先, ...

  6. java 月份间隔_java计算两个日期之间相隔的月份(向下取整)

    最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...

  7. js 求两个日期之间相差天数

    //求两个日期之间的相差天数function daysBetween(DateOne, DateTwo) {var OneMonth = DateOne.substring(5, DateOne.la ...

  8. php两个时间相差月数,计算两个日期之间相隔的月数

    将两个日期相减,返回相差月数的绝对值/** * 计算两个日期之间相隔的月数 * @author injection(injection.mail@gmail.com) * @var string da ...

  9. C#计算两个日期之间相差的天数

    C#计算两个日期之间相差的天数 private int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Conver ...

最新文章

  1. 【MYSQL】分组之后获取每组最新的数据
  2. 狄德罗效应下,小程序被“逼”向中心化
  3. python asyncio理解_我实在不懂Python的Asyncio
  4. LVS(8)——tcpdump查看数据包到底如何传递
  5. 使用 dotnet-monitor 分析.NET 应用程序
  6. mysql数据库新建一个递增的_分享一个mysql实验—基于数据库事务隔离级别RR及RC的测试...
  7. 这个代码应该怎么写???
  8. ubuntu下常用服务器的构建
  9. wfm扩展_WFM的完整形式是什么?
  10. CVPR 2021 图像生成最新进展,论文分享会回放
  11. 数据结构期末复习之归并排序和基数排序
  12. java异常中Exception捕获不到的异常
  13. discuz开发经验discuz x3 怎么在帖子列表显示论坛板块图标
  14. seo优化之如何选择产品
  15. 深度学习 机器学习 数据集资源汇总
  16. matlab中m文件的命名规则 转,Matlab中m文件命名规则
  17. Flash 实验 飞机爆炸
  18. 北京易思汇商务服务有限公司 留学缴费
  19. python wechat_wechat-sdk
  20. 丁晓钟怎么样_丁晓钟老师的课程怎么样?

热门文章

  1. fm2018 ajax,fm2018各位置球员排行 各位置神级球员能力值排名
  2. 测试/开发程序员男都秃头?女都满脸痘痘?过好我们“短暂“的一生......
  3. 高效沟通的底层工具-沟通视窗
  4. 思考遇到HTTP的链接报错 - ECONNRESET
  5. python画七色花代码_3分钟,教你学画一朵梦中的七色花
  6. 任意进制与十进制之间的转换
  7. 数据库设计2————需求分析
  8. python中如何安装scipy_python安装scipy的方法步骤
  9. 魂斗罗归来大觉机器人_魂斗罗归来Boss模式详解 Boss血量分析
  10. 设计模式 ——【单例模式】