iCalendarDateFormat.format正在更改日期

时间:2012-04-12 23:13:02

标签: java icalendar

我正在使用JavaMail生成会议并将它们发送到Outlook,除了生成适当的时间外,一切都很顺利。如果我通过访问这个网站硬编码已经转换的时间,然后打开ics文件并复制生成的时间,但这不会有效。

基本上我正在生成日期并在转换之前打印它们,这是输出:

SimpleDateFormat iCalendarDateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmm'00'");
Calendar calStart = Calendar.getInstance(); 
calStart.set(Calendar.DAY_OF_MONTH, 12);
calStart.set(Calendar.MONTH, Calendar.APRIL);
calStart.set(Calendar.HOUR, 4);
calStart.set(Calendar.MINUTE, 13);

System.out.println("Month = " +  calStart.get(Calendar.MONTH));
System.out.println("DAY OF MONTH = " +  calStart.get(Calendar.DAY_OF_MONTH));            

System.out.println("Hour = " +  calStart.get(Calendar.HOUR));
System.out.println("Minute = " +  calStart.get(Calendar.MINUTE));  

Date start = calStart.getTime();


Calendar calEnd = Calendar.getInstance();
calEnd.set(Calendar.DAY_OF_MONTH, 12);
calEnd.set(Calendar.MONTH, Calendar.APRIL);
calEnd.set(Calendar.HOUR, 4);
calEnd.set(Calendar.MINUTE, 40);

Date end = calEnd.getTime();

输出如下:     月= 3     每月的天数= 12     小时= 4     分钟= 13     START TIME = Thu Apr 12 16:13:20 PDT 2012     结束时间= 2012年4月12日星期四16:40:20 PDT 2012     iCal START TIME = 20120412T161300     iCal结束时间= 20120412T164000

当我实际发送给Outlook时,它会安排以下几天的会议:     开始时间= 2012年4月4日星期一下午2:29     结束时间= 2012年4月4日星期二下午12:29

任何想法我做错了什么?

0 个答案:

没有答案