当前位置: 首页 > 面试题库 >

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

利思源
2023-03-14
问题内容

我想将字符串日期转换为特定时区和特定格式的DateTime对象。我该怎么做 ?

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

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


问题答案:

使用DateTimeFormatterBuilder建立一个格式,它能够解析/格式的多个DateTimeFormatS,并设置导致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"))



 类似资料:
  • 我试图用一种特定的格式将“即时”格式化为“字符串”。基于这里的问题,我正在做这个- 有什么关于为什么会这样的建议吗? 谢谢

  • 本文向大家介绍在SAP HANA中以特定格式将字符串转换为日期,包括了在SAP HANA中以特定格式将字符串转换为日期的使用技巧和注意事项,需要的朋友参考一下 我认为您只需要使用“ TO_VARCHAR”和“ TO_DATE”功能。

  • 我需要将我的转换为没有日期的时间。我使用了SimpleDateFormat,它起作用了。但我需要的是Java中的Localdatetime。 但它给了我这个错误: 线程“main”java.time.format.DateTimeParseException中的异常:无法解析文本“10:30:20 PM”:无法从temporalaccessor获取LocalDateTime:{},ISO解析为类型

  • 我有当前的毫秒utc/unix时间,现在我想将其转换为特定时区的日期时间,例如EST utc-5(纽约)。 我使用以下方法获得当前的毫秒/ unix时间: 现在我想把这个长值转换成一个特定的时区。 我如何使用 Joda time 做到这一点,因为我听说这是最好的库,但 API 对我来说似乎有点混乱。

  • 我有一个日期。它是如何存储在数据库中的。我正在使用并调用此函数。 在这里,我知道我的

  • 我有这样的字符串…我想将它们转换为s,这就是我所做的; 上面的代码在解开包装时崩溃。我猜这是因为格式...你知道我做错了什么吗?