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"))
。