Calendar calendar1 = new GregorianCalendar(2014, 4, 10);就行了;
API中有详细说明:public GregorianCalendar(int year,int month,int dayOfMonth)               在具有默认语言环境的默认时区内构造一个带有给定日期设置的 GregorianCalendar。 参数:
year - 用来在日历中设置 YEAR 日历字段的值。
month - 用来在日历中设置 MONTH 日历字段的值。Month 值是基于 0 的,例如,0 表示 1 月。
dayOfMonth - 用来在日历中设置 DAY_OF_MONTH 日历字段的值。

解决方案 »

  1.   

    我记得好像GregorianCalendar constucture的月份是从0开始算的 所以很容易错。
    不要用这个方法构造GregorianCalendar. GregorianCalendar 有一个constructor是可以用java Calendar的 用那个比较好。
    下边是converter的class给你做参考import java.util.Date;
    import java.util.GregorianCalendar;
    import javax.xml.datatype.DatatypeConfigurationException;
    import javax.xml.datatype.DatatypeFactory;
    import javax.xml.datatype.XMLGregorianCalendar;/**
     *
     * @author Hao
     */
    public class DateConverter {
                 /*
         * Converts java.util.Date to javax.xml.datatype.XMLGregorianCalendar
         */
        public static XMLGregorianCalendar toXMLGregorianCalendar(Date date){
            GregorianCalendar gCalendar = new GregorianCalendar();
            gCalendar.setTime(date);
            XMLGregorianCalendar xmlCalendar = null;
            try {
                xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gCalendar);
            } catch (DatatypeConfigurationException ex) {
           
            }
            return xmlCalendar;
        }
      
        /*
         * Converts XMLGregorianCalendar to java.util.Date in Java
         */
        public static Date toDate(XMLGregorianCalendar calendar){
            if(calendar == null) {
                return null;
            }
            return calendar.toGregorianCalendar().getTime();
        }
    }