日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java两个日期相差的天数计算

發(fā)布時(shí)間:2023/12/15 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java两个日期相差的天数计算 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫一道java題目:

求兩個(gè)日期之間相隔的天數(shù),寫一個(gè)方法(例如:fun3("2010.09.20","2010.09.21") ),求輸入的字符串2010.09.20 與 2010.09.21 之間相隔的天數(shù).

看了一圈,很多方法,下面是兩種比較簡單的:

一:調(diào)工具類方法:ChronoUnit.DAYS.between(time1, time2),time1,time2是兩個(gè)要算天數(shù)的間隔的LocalDate對象。

二:用時(shí)間戳計(jì)算

完整代碼如下:

package Q15;import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Date;/*** 15. 求兩個(gè)日期之間相隔的天數(shù)* 寫一個(gè)方法(例如:fun3("2010-09-20","2010-09-21") ),* 求輸入的字符串2010-09-20 與 2010-09-21 之間相隔的天數(shù)*/ public class Time {public static void main(String[] args) { // String s1="2010-09-20"; // String s2="2010-09-29";String s1="2010.09.20";String s2="2010.09.29";Time time = new Time();System.out.println("兩個(gè)時(shí)間間隔天數(shù)為:"+time.fun(s1,s2));System.out.println("兩個(gè)時(shí)間間隔天數(shù)為:"+time.fun1(s1,s2));try {int between = time.fun2(s1, s2);System.out.println("兩個(gè)時(shí)間間隔天數(shù)為:"+between);} catch (ParseException e) {e.printStackTrace();}}//法一:public int fun(String s1,String s2){//ctrl+alt+/提示方法參數(shù)//指定日期格式DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");//按照指定格式轉(zhuǎn)化為LocalDate對象LocalDate time1 = LocalDate.parse(s1,dateTimeFormatter);LocalDate time2 = LocalDate.parse(s2,dateTimeFormatter);//調(diào)方法計(jì)算兩個(gè)LocalDate的天數(shù)差long between = ChronoUnit.DAYS.between(time1, time2);return (int)between;}//法二:時(shí)間戳1public int fun1(String s1,String s2){//指定格式DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy.MM.dd");//轉(zhuǎn)為localDateLocalDate time1 = LocalDate.parse(s1,dtf);LocalDate time2 = LocalDate.parse(s2,dtf);//從localDate獲取時(shí)間戳long t1 = time1.atStartOfDay().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();long t2 = time2.atStartOfDay().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();int between =(int)(t2 - t1) / 24 / 60 / 60 / 1000;return between;}//法二:用Date獲取時(shí)間戳2public int fun2(String s1,String s2) throws ParseException {//指定格式SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");//獲取DateDate t1 = simpleDateFormat.parse(s1);Date t2 = simpleDateFormat.parse(s2);//獲取時(shí)間戳long time1 = t1.getTime();long time2 = t2.getTime();//返回相差天數(shù)return (int)(time2-time1)/24/60/60/1000;} }

總結(jié)

以上是生活随笔為你收集整理的Java两个日期相差的天数计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。