當前位置:首頁 » 編程語言 » java日期的加減

java日期的加減

發布時間: 2022-06-10 01:54:10

java 兩個日期相減的怎麼做

對已日期相減,最高效的做法就是將二者都轉換成毫秒,相減之後再根據你的需求進行單位轉換,比如你想顯示相差的秒數,就除以1000,以此類推,翠花,上代碼:

/*隨便選兩個時間*/
Stringd1="2015-04-17";
Stringd2="2015-06-17";

/*先轉成毫秒並求差*/
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
longm=sdf.parse(d2).getTime()-sdf.parse(d1).getTime();

/*根據你的需求進行單位轉換*/
System.out.println("相差毫秒數:"+m);
System.out.println("相差天數:"+(m/(1000*60*60*24)));

要注意的地方:

時間格式可能有很多種,比如20150611或者2015年6月11日等等。所以你需要以對應的方式來初始化SimpleDateFormat對象。

例如20150611,就要寫成:

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd");

SimpleDateFormat類是非線程安全的,所以在高並發下需要加同步鎖,否則會出現靈異事件。

❷ java日歷加減

public static void main(String[] args) {

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dateInstance = df.parse("1980-01-01");
Date dateInstance2 = df.parse("1981-01-01");
while (!dateInstance2.equals(dateInstance)) {
System.out.println(df.format(dateInstance));
dateInstance.setDate(dateInstance.getDate() + 1);
}
} catch (ParseException e) {
e.printStackTrace();
}

}

【你的錯誤】

i * 24 * 60 * 60 * 1000 根據自動類型提升原則,計算結果為一個 int 型。

更正 i * 24 * 60 * 60 * 1000L 即可【只要有一個類型是 long 就 OK 了】

【檢查方法】

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
java.util.Date dateInstance = df.parse("1980-01-01");
for (int i = 0; i < 365; i++) {
System.out.println(df.format(new Date(dateInstance.getTime() + i * 24 * 60 * 60 * 1000)));
System.out.println(dateInstance.getTime());
System.out.println((i * 24 * 60 * 60 * 1000));
System.out.println(dateInstance.getTime() + (i * 24 * 60 * 60 * 1000));
System.out.println();
}
} catch (ParseException e) {
e.printStackTrace();
}

【輸出結果】

... ...

1980-01-25
315504000000
2073600000
317577600000

1979-12-07
315504000000
-2134967296 【問題就出自這一步】
313369032704

... ...

【自己試一下吧】

❸ java已知日期格式yymmdd怎麼實現加一天減一天

//對Date類型數據的天數進行加減運算,num可以是負值
public
static
Date
changeDate(Date
date,int
num)
throws
ParseException
{

Calendar
c=Calendar.getInstance();

c.setTime(date);

c.add(Calendar.DATE,
num);

return
formatChange(c.getTime());
}

//將Date類型數據轉為yyyyMMdd格式
public
static
Date
formatChange(Date
date)
throws
ParseException
{

return
new
SimpleDateFormat("yyyyMMdd").parse(new
SimpleDateFormat("yyyyMMdd").format(date));
} //執行入口
public
static
void
main(String[]
args)
throws
ParseException
{

System.out.println(changeDate(new
Date(),-15));
}

❹ 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 代碼已有且正確

add(int field, int amount)
根據日歷的規則,為給定的日歷欄位添加或減去指定的時間量。
c2.add(Calendar.DATE, -1);-1的意思是減去一天的意思如果是+1的話,就是加一天的意思

❻ 用java實現日期類的加減

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.*;
public class CalendarExample {
private static void CalendarTimemethod() {
Date date = Calendar.getInstance().getTime();
System.out.println("Current date and time is: " + date);
System.out.println();
}
private static void SimpleDateFormatmethod() {
Calendar date = Calendar.getInstance();
SimpleDateFormat dateformatter = new SimpleDateFormat(
"E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current date and time in simple date format: "
+ dateformatter.format(date.getTime()));
System.out.println();
}
private static void Adddates() {
System.out.println("Performing operations on calendar dates.");
// Get today's date
Calendar date = Calendar.getInstance();
Calendar cldr;
SimpleDateFormat dateformatter = new SimpleDateFormat(
"E yyyy.MM.dd 'at' hh:mm:ss a zzz");
cldr = (Calendar) date.clone();
cldr.add(Calendar.DAY_OF_YEAR, -(365 * 2));
System.out.println("Before two years it was: "
+ dateformatter.format(cldr.getTime()));
cldr = (Calendar) date.clone();
cldr.add(Calendar.DAY_OF_YEAR, +5);
System.out.println("After five years it will be: "
+ dateformatter.format(cldr.getTime()));
System.out.println();
}
private static void DateDifference() {
System.out.println("Difference between two dates");
Date startDate1 = new GregorianCalendar(2005, 02,
25, 14, 00).getTime();
Date endDate1 = new Date();
;
long diff = endDate1.getTime() - startDate1.getTime();
System.out.println(" Difference between " + endDate1);
System.out.println(" and " + startDate1 + " is " + (diff /
(1000L * 60L * 60L * 24L)) + " days.");
System.out.println();
}
private static void Getcalendermethods() {
System.out.println("Various get methods of the calendar class:");
Calendar calender = Calendar.getInstance();
System.out.println("Year : "
+ calender.get(Calendar.YEAR));
System.out.println("Month : "
+ calender.get(Calendar.MONTH));
System.out.println("Day of Month : "
+ calender.get(Calendar.DAY_OF_MONTH));
System.out.println("Day of Week : "
+ calender.get(Calendar.DAY_OF_WEEK));
System.out.println("Day of Year : "
+ calender.get(Calendar.DAY_OF_YEAR));
System.out.println("Week of Year : "
+ calender.get(Calendar.WEEK_OF_YEAR));
System.out.println("Week of Month : "
+ calender.get(Calendar.WEEK_OF_MONTH));
System.out.println("Day of the Week in Month : "
+ calender.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("Hour : " + calender.get(Calendar.HOUR));
System.out.println("AM PM : " + calender.get(Calendar.AM_PM));
System.out.println("Hour of the Day : "
+ calender.get(Calendar.HOUR_OF_DAY));
System.out.println("Minute : " + calender.get(Calendar.MINUTE));
System.out.println("Second : " + calender.get(Calendar.SECOND));
System.out.println();
}
public static void main(String[] args) {
System.out.println();
CalendarTimemethod();
SimpleDateFormatmethod();
Adddates();
DateDifference();
Getcalendermethods();
}
}

以上答案有林氏120燙傷中心提供。稍微再修改下就可以

❼ 求java對日期加減運算代碼幾處注釋 代碼已有且正確

int y = (int)((Toolkit.getDefaultToolkit().getScreenSize().getHeight() - this.getHeight())/2); 讓窗口居中

new SubDialog(date, 1); //0 1都是什麼作用
根據按鈕的不同來定一個標簽,btn1為0,btn2為1,0為一種dialog「類型」,1為另一種dialog「類型」,這個是根據他的詞意來的

第三個;
add(int field, int amount)
根據日歷的規則,為給定的日歷欄位添加或減去指定的時間量。
c2.add(Calendar.DATE, -1);-1的意思是減去一天的意思如果是+1的話,就是加一天的意思

熱點內容
我的世界手機版大陸練習伺服器 發布:2025-02-08 02:50:43 瀏覽:212
php的特點與優勢 發布:2025-02-08 02:43:16 瀏覽:718
微信公眾號怎麼上傳pdf 發布:2025-02-08 02:42:41 瀏覽:346
安卓如何查看通話總時長 發布:2025-02-08 02:27:49 瀏覽:578
快速dct演算法 發布:2025-02-08 02:19:04 瀏覽:623
淘寶交易密碼如何改 發布:2025-02-08 02:17:32 瀏覽:775
php的進階 發布:2025-02-08 02:17:28 瀏覽:677
伺服器關閉中或IP地址錯誤 發布:2025-02-08 02:16:55 瀏覽:480
節目腳本是什麼 發布:2025-02-08 02:08:54 瀏覽:144
android的自定義屬性 發布:2025-02-08 02:07:27 瀏覽:608