java日期計算,java 計算日期

本文目錄一覽:

java中如何計算出兩個日期之間相差多少天

思路就是根據它們相差的毫秒數除以每天的毫秒數(60*60*24*1000),代碼如下:

public static void main(String[] args) throws ParseException {

String date1=”1987-01-01″;

String date2=”2010-01-01″;

SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-mm-dd”);

Date d1=sdf.parse(date1);

Date d2=sdf.parse(date2);

long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);

System.out.println(“1987-01-01 與 2010-01-01 相隔 “+daysBetween+” 天”);

}

運行結果如下:

擴展資料:

Java使用以下三種方法來比較兩個日期:

1、使用 getTime() 方法獲取兩個日期(自1970年1月1日經歷的毫秒數值),然後比較這兩個值。

2、使用方法 before(),after() 和 equals()。例如,一個月的12號比18號早,則 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。

3、使用 compareTo() 方法,它是由 Comparable 接口定義的,Date 類實現了這個接口。

SimpleDateFormat 是一個以語言環境敏感的方式來格式化和分析日期的類。SimpleDateFormat 允許你選擇任何用戶自定義日期時間格式來運行

例如:

SimpleDateFormat ft = new SimpleDateFormat (“yyyy-MM-dd hh:mm:ss”);

這一行代碼確立了轉換的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是時、分、秒。

注意:有的格式大寫,有的格式小寫,例如 MM 是月份,mm 是分;HH 是 24 小時制,而 hh 是 12 小時制。

以上實例編譯運行結果如下:

當前時間為: 2018-09-14 10:16:34

參考資料:

Java官方API接口-Date

菜鳥教程-Java 日期時間

java 計算某日期 多少天后的日期

java計算某日期之後的日期,可以參考如下代碼:

public static void main(String[] args) {

// 時間表示格式可以改變,yyyyMMdd需要寫例如20160523這種形式的時間

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy/MM/dd”);

String str = “2016/05/23”;

// 將字符串的日期轉為Date類型,ParsePosition(0)表示從第一個字符開始解析

Date date = sdf.parse(str, new ParsePosition(0));

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

// add方法中的第二個參數n中,正數表示該日期後n天,負數表示該日期的前n天

calendar.add(Calendar.DATE, -10);

Date date1 = calendar.getTime();

String out = sdf.format(date1);

System.out.println(out);

}

java中計算兩個日期之間差的天數

分類: 電腦/網絡 程序設計 其他編程語言

問題描述:

比如兩個日期:2005-12-31和2006-01-05,怎麼才能精確的計算出這兩個日期之間差的天數?

望回答的詳細一些,謝了先.

解析:

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

class Test2 {

public static String getDate(){

SimpleDateFormat ft = new SimpleDateFormat(“yyyy/MM/dd”);

Date dd = new Date();

return ft.format(dd);

}

public static long getQuot(String time1, String time2){

long quot = 0;

SimpleDateFormat ft = new SimpleDateFormat(“yyyy/MM/dd”);

try {

Date date1 = ft.parse( time1 );

Date date2 = ft.parse( time2 );

quot = date1.getTime() – date2.getTime();

quot = quot / 1000 / 60 / 60 / 24;

} catch (ParseException e) {

e.printStackTrace();

}

return quot;

}

public static void main(String[] args) throws Exception {

String date1 = “2008/8/8”;

String date2 = getDate();

long day = getQuot(date1,date2);

System.out.println( “距離 “+date1+” 還有 “+day+” 天” );

}

}

你看一下這段代碼,是從今天到2008/8/8的天數。

Date的getTime()方法返回自1970年1月1日午夜(通用時間)以來的毫秒數。

用2008/8/8的getTime()減去今天的getTime()就是這兩天相差的毫秒數,1秒=1000毫秒,1分鐘=60秒,1小時=60分鐘,1天=24小時,然後除除除就得到天數了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/227242.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-09 16:28
下一篇 2024-12-09 16:28

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論