我正在使用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
任何想法我做错了什么?