本文目錄一覽:
java計算兩個日期相差多少天小時分鐘等
Date d=new Date();
SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd”);
System.out.println(“今天的日期:”+df.format(d));
System.out.println(“兩天前的日期:” + df.format(new Date(d.getTime() – (long)2 * 24 * 60 * 60 * 1000)));
System.out.println(“三天後的日期:” + df.format(new Date(d.getTime() + (long)3 * 24 * 60 * 60 * 1000)));
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如何計算日期的加減
第一種,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMddHHmmss”);//格式化輸出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期減1年
rightNow.add(Calendar.MONTH,3);//日期加3個月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二種,自己獲取時間,格式化輸出計算加減
SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMddHHmmss”);//格式化輸出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒後的時間
Date beforeDate = new Date(now .getTime() – time);//60秒前的時間
System.out.println(sdf.format(afterDate ));
java如何獲取當前日期並計算出2個月後的日期
//0、日期輸出格式
SimpleDateFormat f = new SimpleDateFormat(“yyyy/MM/dd,HH:mm:ss”);
//1、獲取當前日期 方式一
Date b = new Date();
System.out.println(f.format(b));
//2、獲取當前日期 方式二
Calendar c = Calendar.getInstance();
//可以手動設置日期
//c.set(2011, Calendar.JANUARY, 31);
System.out.println(f.format(c.getTime()));
//3、獲取當前日期增加兩個月後的日期,
c.add(Calendar.MONTH, 2);
System.out.println(f.format(c.getTime()));
原創文章,作者:BDMQ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141855.html