Java中日期的加减 [英] Addition and Subtraction of Dates in Java
问题描述
如何在java中添加或减去日期?例如 java.sql.Date
并格式如下: yyyy-MM-dd ,我该如何添加5个月?我在一些教程中看到他们使用 Calendar
,我们可以设置日期吗?请帮助。
How can we add or subtract date in java? For instance java.sql.Date
and formatted like this: yyyy-MM-dd, how can i Add 5 months from that? I've seen in some tutorial that they are using Calendar
, can we set date on it? Please Help.
示例: 2012-01-01
添加5个月后将成为 2012-06-01
。
Example: 2012-01-01
when added 5 months will become 2012-06-01
.
PS:我是一个.NET程序员,慢慢学习Java环境。 >
PS: I'm a .Net Programmer and slowly learning to Java environment.
推荐答案
首先,您必须将 String
date转换为 java.util.Date
,比您必须使用 java.util.Calendar
来处理日期。也可以用millis来做数学,但是我不推荐这个。
First of all you have to convert your String
date to java.util.Date
, than you have to use java.util.Calendar
to manipulate dates. It is also possible to do math with millis, but I do not recommend this.
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
}
这篇关于Java中日期的加减的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!