Joda Time – 将字符串转换为具有特定时区和特定格式的DateTime

我想将String Date转换为特定时区和特定格式的DateTime对象。 我该怎么做 ?

字符串日期可以采用世界上使用的任何格式。 示例MM-DD-YYYY,YYYY-MM-DD,MM / DD / YY,MM / DD / YYYY等.TimeZone可以是用户指定的任何合法时区。

示例 – 将YYYY-MM-DD转换为太平洋时区的MM / DD / YY。

使用DateTimeFormatterBuilder构建一个能够解析/格式化多个DateTimeFormat的格式化程序,并将结果DateTimeFormatter设置为使用指定的DateTimeZone

 DateTimeParser[] parsers = { DateTimeFormat.forPattern("MM-dd-yyyy").getParser(), DateTimeFormat.forPattern("yyyy-MM-dd").getParser(), DateTimeFormat.forPattern("MM/dd/yyyy").getParser(), DateTimeFormat.forPattern("yyyy/MM/dd").getParser() }; DateTimeFormatter formatter = new DateTimeFormatterBuilder() .append(null, parsers) .toFormatter() .withZone(DateTimeZone.UTC); DateTime dttm1 = formatter.parseDateTime("01-31-2012"); DateTime dttm2 = formatter.parseDateTime("01/31/2012"); DateTime dttm3 = formatter.parseDateTime("2012-01-31"); 

要格式化给定的DateTime您只需使用dttm1.toString("yyyy-MM-dd"))