我正在尝试以以下格式导入代表Date的给定字符串:
2007-03-12T00:00:00.000+01:00
现在创建一个新的Date对象我使用Joda Library:
DateTime date = new DateTime(year, month, day, hour, minute, second);
但是,我想在这里确定两件事:
答案 0 :(得分:6)
DateTime date = DateTime.parse("2007-03-12T00:00:00.000+01:00");
正如其他答案中所提到的,根据文档,偏移应该与字符串的其余部分一起解析。
答案 1 :(得分:2)
您可以使用SimpleDateFormat
解析该日期字符串,然后将该日期传递给Joda类:
String dateStr = "2007-03-12T00:00:00.000+01:00";
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = sdf.parse( dateStr.replaceAll(":(?=..$)", "")); // remove last colon
请注意,您必须删除最后一个冒号,因此偏移量为RFC 822 time zone,如+0100
,我使用String.replaceAll()
答案 2 :(得分:-1)
您可以通过阅读课程的documentation来回答您的问题
时区由班级处理。查找带有时区参数的constructor。
是的,您可以使用字符串创建DateTime对象。 DateTime.parse(String)可以执行此操作。如果需要,还可以使用另一个method来解析自定义日期格式。