import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Ctest
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Calendar ca = Calendar.getInstance();
ca.set(Calendar.YEAR,2008);
ca.set(Calendar.MONTH,2);
ca.set(Calendar.DATE,29);
ca.add(Calendar.YEAR,1);
Format s = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(s.format(ca.getTime()));
}
}
我2008-02-29 加上一年 就是2009-03-29
这是为什么?
我用js 2008-02-29 加上一年 就是2009-03-01 号?java能否像js这样得到2009-03-01?
我的意思是:08年2月有29号,加一年的话,09年2月没有29号,js就会给出3月1号,java给出2009-03-29???
这是java特定的么??
Calendar ca = Calendar.getInstance();
ca.set(Calendar.YEAR,2008);
ca.set(Calendar.MONTH,2);
ca.set(Calendar.DATE,29);
//ca.add(Calendar.YEAR,1);
ca.add(Calendar.MONTH,1);
Format s = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(s.format(ca.getTime()));
我2008-02-29加一个月 ,为啥输出 2008-04-29????真是费解
1ã计ç®æä¸æ份çæ大天æ°
注ï¼å¨ä½¿ç¨setæ¹æ³ä¹åï¼å¿
é¡»å
clearä¸ä¸ï¼å¦åå¾å¤ä¿¡æ¯ä¼ç»§æ¿èªç³»ç»å½åæ¶é´ã
2ãCalendaråDateç转å
(1) Calendar转å为Date
(2) Date转å为Calendar
3ãæ ¼å¼åè¾åºæ¥ææ¶é´
4ã计ç®ä¸å¹´ä¸ç第å ææ
(1)计ç®æä¸å¤©æ¯ä¸å¹´ä¸ç第å ææ
(2)计ç®ä¸å¹´ä¸ç第å æææ¯å å·