如何在java中添加或减去日期?例如,java.sql.Date和格式如下:yyyy,我如何从那增加5个月?我在一些教程中看到他们正在使用Calendar,我们能在上面设置日期吗?请帮帮忙。
例:2012-01-01加5个月后就会变成2012-06-01。
PS:我是一个.Net程序员,正在慢慢地学习Java环境。
发布于 2012-04-12 06:19:19
首先,您必须将String日期转换为java.util.Date,而不是使用java.util.Calendar操作日期。用millis做数学也是可能的,但我不建议这样做。
public static void main( final String[] args ) throws ParseException {
final String sdate = "2012-01-01";
final SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd" );
final Date date = df.parse( sdate ); // conversion from String
final java.util.Calendar cal = GregorianCalendar.getInstance();
cal.setTime( date );
cal.add( GregorianCalendar.MONTH, 5 ); // date manipulation
System.out.println( "result: " + df.format( cal.getTime() ) ); // conversion to String
}发布于 2012-04-12 06:21:25
避免使用内置的日期类来计算日期。看看JodaTime,它为这类事情提供了一个更好的API。
发布于 2012-04-12 06:18:14
使用Calendar
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 5);https://stackoverflow.com/questions/10118327
复制相似问题