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

OffsetDateTime到ZonedDateTime-具有特定的ZoneId

公孙驰
2023-03-14

我们创建了一个DateTime类来保存库中的DateTime。该值通常来自SQL数据库(所以UTC)或XML(可以有偏移量)。但它也可以是具有明确时区的日期时间(如丹佛)。

在我们的课堂上,我们把它作为OffsetDateTime,我认为这是最好的,因为98%的时间我们得到的是一个已知偏移量的显式瞬间,没有区域。

当它使用ZonedDateTime初始化时,我想我们将其保存为OffsetDateTime并保存ZoneId。然后,仅在我们想要ZonedDateTime对象(转换为字符串以供显示)的情况下,如果我们有ZoneId,请将其应用于OffsetDateTime.toZonedDateTime()。这样,我们在显示为字符串时获得“MST”而不是“-0700”的“z”值。

如何使用OffsetDateTime中的特定ZoneId创建ZonedDateTime?

共有1个答案

颜云瀚
2023-03-14

您提出的具体问题的解决方案;

ZoneId mst = ZoneId.ofOffset("UTC", ZoneOffset.ofHours(-7));
OffsetDateTime mstOffsetDateTime = OffsetDateTime.now(mst);
ZonedDateTime mstZonedDateTime = mstOffsetDateTime.atZoneSameInstant(mst);

但是,我不知道为什么要将时间戳保存在OffsetDateTime中。如果您跟踪您的分区ID,您可以在UTC中保存时间戳,并在后端/前端(或任何其他客户端)中转换为您想要的任何格式。将日期时间存储为UTC将为您提供更大的灵活性。

 类似资料:
  • 问题内容: 我已经阅读了文档,但是当我应该使用其中一个时,还是不知道: 根据文档,在向数据库写入日期时应使用该文档,但我不知道为什么。 问题答案: 问:java 8 ZonedDateTime和OffsetDateTime有什么区别? javadocs这样说: “,和所有商店的时间线,以纳秒的精度瞬间,是最简单的,只是代表了瞬间。增加了即时从UTC /格林威治,这使得能够获得当地的日期时间偏移。增

  • 问题内容: 我得到一个Date对象,我需要将其转换为XMLGregorian Calendar特定格式 我尝试了以下方法 我有一个例外,可以肯定的是我在这里做错了。但是我想将Date对象格式化为指定的格式,这可以完美地由sdf.format完成。 但是,如何为同一对象(来自formattedDate)创建XMLGregorianCalendar对象? 问题答案: 您可以通过date对象本身来实现:

  • 使用ThreeTen Android Backport库,将< code>ZonedDateTime或< code>OffsetDateTime转换为老式的< code>java.util.Date实例的最简单方法是什么? 如果我有完整Java8库在我的处置,这当然会是这样做(在这个问题): 但是我不能在Android上使用它;特别是< code > date . from(Instant Ins

  • 我仍然是networkx的初学者,我想在不同的位置添加多种类型的节点,我使用了以下代码 但是当我想访问Graph X时,如果我键入X.node它会返回一个空列表,如果我想添加更多节点,我必须在开始时使用pos字典设置它们的位置。 如何使用add_node()将节点添加到特定位置x和y的图形中

  • 问题内容: 我在这样的表格视图中有一个数字列表。 如您所见,数字是重复的。让我们考虑一组重复的数字作为一个组。因此,有一组1,一组2,依此类推。 我想做的是当应用启动时,我需要自动滚动到指定组的开始位置。在进一步解释之前,这是到目前为止的代码。 import UIKit 我为变量分配了值12 。这意味着当应用程序启动时,我希望表格视图自动滚动到 12s组单元格的开始。 但是目前,我的代码执行的是滚

  • 问题内容: 我需要在pandas DataFrame中以某种格式格式化Json文件的内容,以便我可以运行pandassql转换数据并通过评分模型运行它。 文件= C:\ scoring_model \ json.js(“文件”的内容如下) 我需要数据框看起来像这样(显然,同一行上的所有值都试图对此问题进行最佳格式化): 我查看了有关此主题的所有其他问题,尝试了各种方法将Json文件加载到熊猫中 在