如何在java中转换时间数据?

时间:2010-07-29 06:56:50

标签: java

以下时间格式位于展望日历文件

DTSTART;TZID="Eastern":20100728T140000
DTEND;TZID="Eastern":20100728T150000

如何将此时间转换为java时间格式。

4 个答案:

答案 0 :(得分:3)

这看起来像iCalendar。看看ical4j - 它的Java API。

答案 1 :(得分:0)

未经测试,请查看SimpleDateFormat

String ds = "DTSTART;TZID=\"Eastern\":20100728T140000";
Date d = new SimpleDateFormat("yyyyMMdd'T'HHMMSS").parse(ds.split(":")[1]);

答案 2 :(得分:0)

处理时区将非常棘手,因为“东方”不是实际的时区。但是,如果您处理,我建议以下SimpleDateFormat将为您处理未经调整的解析。

Date unadjusted = 
    new SimpleDateFormat("yyyyMMdd'T'HHmmss").parse(line.split(":")[1]);

答案 3 :(得分:0)

使用AlwaysDateFormat的另一种方式:

String[] strings = new String[]{"DTSTART;TZID=\"Eastern\":20100728T140000", "DTEND;TZID=\"Eastern\":20100728T150000"};

    for (String string : strings) {
        String dateString = string.replaceAll("(DTSTART|DTEND);TZID=\"Eastern\":", "");
        dateString = dateString.replaceAll("T", "");

        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        try {
            Date date = sdf.parse(dateString);
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }