我有一个日期说我从数据库得到的A.我也得到了一个充满活力的数字 我想使用以下表达式计算新日期
new date = old date + number
例如,旧日期为10/11/2014
,数字为25
,则新日期为05/12/2014
答案 0 :(得分:3)
您可以使用java.util.Calendar
类。
public static void main(String args[]) {
Calendar x = new GregorianCalendar(2014, 10, 10);
Date date = x.getTime();
Calendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH, 25);
Date newDate = cal.getTime();
System.out.println(newDate);
}
答案 1 :(得分:1)
试试这个
Date afterAddingTenMins = new Date(dateFromDb.getTime() + (numberInMinutesToAdd * 60000));
or
You can also use Calendar class which is best date manipulation
Calendar cal = new GregorianCalendar();
cal.setTime(oldDate);
cal.add(Calendar.DAY_OF_MONTH, numberOfDaysToAdd);
Date newDate = cal.getTime();
答案 2 :(得分:0)
看看joda日期/时间库
示例代码:
ISODateTimeFormat.basicDate().parseLocalDate("20141110").plusDays(45);
您需要使用 DateTimeFormat 实现(例如 ISODateTimeFormat )来定义日期/时间字符串的外观以及如何将其解析为对象。
注意,有几个具有不同语义的日期/时间抽象:DateTime,LocalDate,LocalDateTime
我建议用一些日期+偏移样本编写测试用例,包括闰年案例。
问候
答案 3 :(得分:0)
试试这个,
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author Sajana
*/
public class NewClass8 {
public static void main(String[] args) {
String dt="12-05-2014";//////////MM DD YYYY
int dt1=25;/////////days you want
java.util.Calendar cal1 = new java.util.GregorianCalendar();
StringBuffer sBuffer = new StringBuffer(dt);
String year = sBuffer.substring(6,10);
String mon = sBuffer.substring(0,2);
String dd = sBuffer.substring(3,5);
int calyear = Integer.parseInt(year);
int calmon = Integer.parseInt(mon);
int caldd = Integer.parseInt(dd);
caldd=caldd+dt1;
cal1.set(calyear, calmon, caldd);
Date d1=cal1.getTime();
SimpleDateFormat t;
t=new SimpleDateFormat("yyyy-MM-dd");
String vb=t.format(d1);
System.out.println("Date"+vb);
}
}
答案 4 :(得分:0)
试试这段代码。如果它对你有帮助,请告诉我。
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, YearValue);
c.set(Calendar.MONTH, MonthValue);
c.set(Calendar.DAY_OF_MONTH, DayValue);
c.add(Calendar.DATE, AdditionalDayValue);
Date d= c.getTime();
这是我用来在JAVA中进行日期计算的方法