当前位置: 首页 > 知识库问答 >
问题:

Java短日期字符串转换为ZonedDateTime

令狐嘉运
2023-03-14

我有一个字符串,其日期格式为:2021-10-05。需要将此字符串转换为ZonedDateTime类型。试图用这种方法来做,但无法解析文本。时间可以是00:00:00。有什么建议吗?

public static final ZoneId ZONE_ID = ZoneId.of("UTC");

ZonedDateTime dt2 = ZonedDateTime.parse(date, //date String = 2021-10-05
DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZONE_ID));

共有1个答案

康烨伟
2023-03-14

您必须首先使用localdate转换,因为在给定的字符串中没有时间进行分析:

LocalDate localDate = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
ZonedDateTime dt2 = ZonedDateTime.of(localDate, LocalTime.MIDNIGHT, ZONE_ID);

或者以评论中发布的稍微优雅的方式:

LocalDate localDate = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
ZonedDateTime dt2 = localDate.atStartOfDay(ZONE_ID);
 类似资料:
  • 我有一个,日期格式为:。需要将此转换为类型。尝试以这种方式执行,但无法解析Text。时间可以是00:00:00。有什么建议吗?

  • 问题内容: 该java.util.Date 方法显示当地时区的日期。 在几种常见的情况下,我们希望以UTC格式打印数据,包括日志,数据导出以及与外部程序的通信。 在UTC中创建String表示形式的最佳方法是什么? 如何用更好的格式替换无法排序的juDate 格式(感谢@JonSkeet!)? 附录 我认为以自定义格式和时区打印日期的标准方法非常繁琐: 我一直在寻找像这样的单线: 问题答案: 遵循

  • 问题内容: 我需要有关此java方法的一些建议。此方法的目的是采用表示日期的字符串-该字符串是从EST时区中的日期创建的-并将其转换为UTC时区中的java Date对象。 我看到的问题是dt的值似乎已关闭。例如,如果dateString为‘10 / 16/2012 12:06 PM’-我期望dt(以UTC为单位)的值类似于“ 2012年10月16日,星期二,下午4:06”。取而代之的是,dt的值

  • 问题 你的应用程序接受字符串格式的输入,但是你想将它们转换为 datetime 对象以便在上面执行非字符串操作。 解决方案 使用Python的标准模块 datetime 可以很容易的解决这个问题。比如: >>> from datetime import datetime >>> text = '2012-09-20' >>> y = datetime.strptime(text, '%Y-%m-%

  • 问题内容: 我正在尝试将字符串解析为android应用程序中的日期字段,但似乎无法正确理解。这是我要转换为日期“ 2012/03/26/11:49:00 AM”的字符串。我正在使用的功能是: 但我不断得到结果。 问题答案: 您显示我猜测的数据的方式是错误的,因为对我来说: 印刷品:

  • 我的一个软件中有这段代码,我简化了它,并在一个示例java类中重写了它。今天是“2022-04-08”,当我执行此代码时,变量等于,但它应该是。如何解决这个问题?