亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算新日期?- 使用一個日期變量和一個 int 變量

如何計算新日期?- 使用一個日期變量和一個 int 變量

莫回無 2023-02-16 16:18:26
設想用戶可以使用應用程序記錄他們的許可證,他們輸入許可證被兌換的日期,他們還輸入許可證的長度(天)。我想弄清楚您是否能夠從這兩個變量計算出新的日期。例如days = INPUT FROM USER;          days = 7;      dateRedeemed = new Date();       date = 24/06/2019;      newDate = dateRedeemed + days;   newDate = 01/07/2019;    //Getting the values            String name = txtName.getText();            String contact = txtContact.getText();            int years = Integer.parseInt(cboyears.getSelectedItem().toString());            int months = Integer.parseInt(cboMonths.getSelectedItem().toString());            int days = Integer.parseInt(cboDays.getSelectedItem().toString());//Calculation                        days = (years * 365) + (months * 12) + days;            SimpleDateFormat format = new SimpleDateFormat("dd/MM/YYYY");            Date dRedeemed = cboDate.getDate();            String strRedeemed = format.format(dRedeemed);如果有人能提供幫助那就太好了編輯這個線程中的一些很好的建議,你們中的很多人一直指出 Date 類非常糟糕和過時我現在將開始使用 LocalDateTime 類,因為它看起來更強大,我想問的另一件事是,有一個更高效的日期選擇器。我一直在使用 swingx 日期選擇器,有沒有更有效的選擇?
查看完整描述

3 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

Java(任何)解決方案:


Date currentDate = new Date(); // or any date you set

Calendar c = Calendar.getInstance();

c.setTime(currentDate);

c.add(Calendar.DAY_OF_MONTH, 7);

Date currentDatePlusSevenDays = c.getTime();

Java 8+ 解決方案:


Date currentDate = new Date(); // or any date you set

LocalDateTime localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();

localDateTime = localDateTime.plusDays(7);

Date currentDatePlusSevenDays = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

帶有外部庫Joda-Time的 Java(任何)解決方案:


DateTime currentDate = DateTime.now(); // or any date you set

DateTime currentDatePlusSevenDays = currentDate.plusDays(7);   


查看完整回答
反對 回復 2023-02-16
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

如果你不使用 Java 8,你可以使用下面的代碼


int days = 8;

Calendar c = Calendar.getInstance();

c.setTime(new Date());

c.add(Calendar.DATE, days);


SimpleDateFormat format = new SimpleDateFormat("dd/MM/YYYY");

Date newDate = c.getTime();

System.out.println(dateFormat.format(newDate));


查看完整回答
反對 回復 2023-02-16
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

如果你使用 Java 8,你應該使用 LocalDateTime 類。


它讓事情變得簡單多了。


LocalDateTime dateRedeemed = LocalDateTime.now(); // 2019-06-24T16:31:16.993

// custom date also possible (year, month, day (of month), hours, minutes, seconds and nanoseconds)

LocalDateTime dateRedeemed = LocalDateTime.of(2019, 06, 24, 13, 55, 36, 123);


// Add 7 days

LocalDateTime newDate = dateRedeemed.plusDays(7);

System.out.println(newDate.toString()); // 2019-07-01T16:31:16.993


查看完整回答
反對 回復 2023-02-16
  • 3 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號