【问题标题】:Time format used in .ics file?.ics 文件中使用的时间格式?
【发布时间】:2012-05-20 01:47:45
【问题描述】:

我正在用 Java 创建一个 .ics 文件,我需要知道要使用什么日期和时间格式。

这是我的 ics 文件的当前格式:

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:20120901T180000
DTEND:20120901T183000
SUMMARY:my birthday
LOCATION:Bangalore
DESCRIPTION:Every one is welcome..!! time to party
PRIORITY:3
END:VEVENT
END:VCALENDAR

我使用ISO_DATETIME_TIME_ZONE_FORMAT 将我的日期转换为所需的格式,但它返回了2012-09-01T18:00:00+00:00

DTSTARTDTEND 值中使用的日期格式是什么?具体来说,如何在 Java 中正确格式化?

【问题讨论】:

    标签: java events calendar icalendar


    【解决方案1】:

    你可以使用 Java

    DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
    

    iCalendar RFC 5545查看更多信息

    【讨论】:

      【解决方案2】:

      您是否对使用第三方库有任何保留?如果没有,看看ICal4j

      【讨论】:

      • 谢谢,但我看过了,将 ics 文件写入 outputteam 并下载似乎要简单得多。我也试图避免使用第三方库,我只需要知道应该以哪种格式解析日期和时间。
      • little googling 会给你答案; one the resultsThe iCal Date format is in the form of yyyymmddThhmmss; @roger-lindsjo 上面的注释有你可以使用 SimpleDateFormat 来解析它的模式
      【解决方案3】:

      根据 Roger 的回答,我为任何想要快速在线“转换器”的人编写了一个快速代码块。

      https://repl.it/repls/SomeNovelFields

      编译和运行的代码在这里:

      import java.text.DateFormat;
      import java.util.Date;
      import java.text.SimpleDateFormat;
      
      public class HelloWorld{
      
           public static void main(String []args){
              System.out.println("Hello World");
              DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
      
              try {
              Date date = dateFormat.parse("20140110T000732");
                      System.out.println(date);
      
              } catch(Exception e) {
      
              }
           }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-29
        • 1970-01-01
        • 2023-03-15
        • 2017-05-09
        相关资源
        最近更新 更多