簡體   English   中英

Joda Time-將字符串轉換為具有特定時區和特定格式的DateTime

[英]Joda Time - Convert a String into a DateTime with a particular timezone and in a particular format

我想將字符串日期轉換為特定時區和特定格式的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"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM