趣味题——求两个日期之间相隔的天数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、需求及解题思路
- 二、代码实现
- 三、总结
前言
提示:这里可以添加本文要记录的大概内容:
这周学习了常用类&异常体系之后,在做作业时发现了一道很有意思的题,于是便把这道题分享出来。
提示:以下是本篇文章正文内容,下面案例可供参考
一、需求及解题思路
要想计算出两个日期之间的间隔天数,我们首先想到的是使用Date日期类,并使用其中的getTime()方法去获取两个日期的毫秒值,将两个毫秒值相减,得到一个差值,再将这个差值除以10006060*24,就能得到我们想要的结果。
二、代码实现
- 首先我们应该导入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+"天");}
}
- 定义一个工具类,写出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;}
}
- 最后剩下的就是测试类,调用定义的工具类的方法,并传入需要修改的日期对象,再传入格式,用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+"天");}
}
三、总结
通过这道题我们可以举一反三,可以解决相似的更多问题。例如,计算一个人从出生到现在过了多少天;计算今天到未来的某一天还有多少天等等。
趣味题——求两个日期之间相隔的天数相关推荐
- python日期间隔天数_Python编程题5--计算两个日期之间相隔的天数
题目 已知任意两个日期,计算出两个日期之间相隔的天数. 实现思路1 这里我们运用 Python 里面内置模块 time 来处理问题. 已知2个日期,格式为 yyyy-mm-dd 通过 time.str ...
- C#求两个日期之间相差的天数和当前日期+30天插入数据库
求两个日期之间相差的天数 //数据库表的登录时间DateTime lastTime = dynamic.lastTime;//会员到期时间DateTime expireTime = dynamic.e ...
- 如何计算两个日期之间相隔的天数?calendar的用法
//首先定义一个calendar,必须使用getInstance()进行实例化 Calendar aCalendar=Calendar.getInstance(); //设置时间为 2004 年 8 ...
- 【javaScript获取时间,计算任意两个日期之间相隔的天数】计算任意两个日期之间相隔的天数
主要算法: 利用毫秒差,由于1000毫秒等于1秒,60秒等于1分钟,60分钟一小时,一天24小时.所以可以用:毫秒差 除 以(60×60×1000×24)等于天数. 代码如下: <script ...
- 趣味题:求两个日期之间的相隔天数
导语 朋友们大家好,今天给大家带来一个经典题目,求两个日期之间的相隔天数. 目录 目录 导语 目录 一.需求及思路 二.代码实现 源码部分 utility工具类 Time测试类 一.需求及思路 首先, ...
- java 月份间隔_java计算两个日期之间相隔的月份(向下取整)
最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...
- js 求两个日期之间相差天数
//求两个日期之间的相差天数function daysBetween(DateOne, DateTwo) {var OneMonth = DateOne.substring(5, DateOne.la ...
- php两个时间相差月数,计算两个日期之间相隔的月数
将两个日期相减,返回相差月数的绝对值/** * 计算两个日期之间相隔的月数 * @author injection(injection.mail@gmail.com) * @var string da ...
- C#计算两个日期之间相差的天数
C#计算两个日期之间相差的天数 private int DateDiff(DateTime dateStart, DateTime dateEnd) { DateTime start = Conver ...
最新文章
- 【MYSQL】分组之后获取每组最新的数据
- 狄德罗效应下,小程序被“逼”向中心化
- python asyncio理解_我实在不懂Python的Asyncio
- LVS(8)——tcpdump查看数据包到底如何传递
- 使用 dotnet-monitor 分析.NET 应用程序
- mysql数据库新建一个递增的_分享一个mysql实验—基于数据库事务隔离级别RR及RC的测试...
- 这个代码应该怎么写???
- ubuntu下常用服务器的构建
- wfm扩展_WFM的完整形式是什么?
- CVPR 2021 图像生成最新进展,论文分享会回放
- 数据结构期末复习之归并排序和基数排序
- java异常中Exception捕获不到的异常
- discuz开发经验discuz x3 怎么在帖子列表显示论坛板块图标
- seo优化之如何选择产品
- 深度学习 机器学习 数据集资源汇总
- matlab中m文件的命名规则 转,Matlab中m文件命名规则
- Flash 实验 飞机爆炸
- 北京易思汇商务服务有限公司 留学缴费
- python wechat_wechat-sdk
- 丁晓钟怎么样_丁晓钟老师的课程怎么样?
热门文章
- fm2018 ajax,fm2018各位置球员排行 各位置神级球员能力值排名
- 测试/开发程序员男都秃头?女都满脸痘痘?过好我们“短暂“的一生......
- 高效沟通的底层工具-沟通视窗
- 思考遇到HTTP的链接报错 - ECONNRESET
- python画七色花代码_3分钟,教你学画一朵梦中的七色花
- 任意进制与十进制之间的转换
- 数据库设计2————需求分析
- python中如何安装scipy_python安装scipy的方法步骤
- 魂斗罗归来大觉机器人_魂斗罗归来Boss模式详解 Boss血量分析
- 设计模式 ——【单例模式】