问题标签 [zoneddatetime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1483 浏览

date - 获取午夜和当前时间JDK 8之间的时间范围

我有这种方法来计算 midnigt 和当前时间作为 long 值:

也许有更简单的方法可以做到这一点?

0 投票
2 回答
270 浏览

date - 获取本周第一天和当前时间JDK 8之间的时间范围

我可以轻松计算每月第一天和当前时间之间的时间段:

但是如何在本周的第一天(午夜)开始计数?

0 投票
1 回答
391 浏览

java - DynamicReports 不应用模式来格式化 ZonedDateTime

我有一个模型类,其中包含ZonedDateTime类型的字段。生成报表数据时显示为:

2017-08-17T16:09:03+03:00[欧洲/基希讷乌]

要格式化该日期,我使用方法setPattern("dd.MM.yyyy")但没有任何变化。

所有东西都是通过反射生成的,检查源:

生成报告,其中列表是元素的通用列表。

生成的 PDF

生成的pdf 有任何想法吗?

0 投票
1 回答
3400 浏览

spring-mvc - Spring Boot 将表单数据解析为 ZonedDateTime (dd/MM/yyyy HH:mm)

我有一个拥有java.time.ZonedDateTime财产的实体。我想将dd/MM/yyyy HH:mm格式从表单提交的字符串解析为java.time.ZonedDateTime.

我试过了@DateTimeFormat(pattern = "dd/MM/yyyy HH:mm")。但它只适用LocalDate@DateTimeFormat(pattern = "dd/MM/yyyy")格式。

我还创建了一个Converter如下

并覆盖 webMvcConfiguration 如下

我不确定使它起作用的正确方法是什么。使用 Spring Boot 1.5.6。百里香叶 3.0.7

0 投票
1 回答
770 浏览

mysql - jhipster 和 ZonedDateTime

当我坚持一个 ZonedDateTime 时,区域信息就被释放了。

日志的输出:

在 MySql Workbemnch 中:

,在Workbench中可以看到刚刚发布的区域信息。我发现该应用程序何时在 heroku 上投入生产,服务器与用户位于另一个时区。一些发现者返回错误的结果。

这里来自 ledger.json:

难道我做错了什么 ?

0 投票
6 回答
20520 浏览

java - Java 8 Time API - ZonedDateTime - 解析时指定默认 ZoneId

我正在尝试编写一个通用方法来返回ZonedDateTime给定的日期String及其格式。

如果 date 中未指定ZonedDateTime默认值,我们如何使用它?ZoneIdString

可以用 来完成java.util.Calendar,但我想使用 Java 8 time API。

这里的这个问题使用的是固定时区。我将格式指定为参数。日期及其格式都是String参数。更通用。

下面的代码和输出:

输出

0 投票
1 回答
1059 浏览

java - 如何在 JSON 序列化期间将服务器时区添加到 localdatetime?

我将 LocalDateTime 用于 RESTful Web 服务中的所有时间戳,并且所有时间戳的初始化和更改都在服务器上进行。
当服务的客户端创建一些资源时,服务器会在内部为该资源分配创建时间戳。

服务器以 JSON 格式返回资源:

当客户端呈现creationTimestamp时,它不知道创建此时间戳的服务器时区,并错误地呈现时间。

我看到解决它的唯一方法:将应用程序中的所有时间戳更改为 ZonedDateTime 并将它们与 JSON 中的时区一起返回给客户端。但是这种方法非常昂贵。

有没有其他方法可以解决这个问题?

0 投票
1 回答
454 浏览

json - ZonedDateTime 自定义 JSON 转换器 Grails 3.3.0

我正在将一个非常旧的 Grails 应用程序转换为最新版本 (3.3.0)。事情有点令人沮丧,但我已经非常接近迁移除了 JSON 和 XML 编组器之外的所有内容,它们之前在我的 BootStrap init 中注册。

之前的 marshaller 注册看起来像这样:

这是这样定义的:

在迁移过程中,我最终将 org.joda.time.DateTime 的所有实例转换为 java.time.ZonedDateTime:

不幸的是,在升级到 Grails 3.3.0 之后,无论我尝试做什么,这个 marshaller 注册似乎都没有被使用。

我确实知道有一种新的“JSON 视图”做事方式,但是这个特定的服务有很多端点,如果一切都已经完成,我不想为所有端点编写自定义转换器和“.gson”模板以我需要的格式。我只需要 JSON 格式的响应和行为属性的日期(格式化字符串)。

相反,我发现(与以前的行为相比,使用 ZonedDateTime 的属性在我的 JSON 输出中“爆炸”了。有大量不需要的垃圾日期对象信息,并且它没有被格式化为正如我所料,一个简单的字符串。

我已经尝试了一些东西(主要是根据官方最新 Grails 文档中的建议)---

自定义转换器 默认日期格式

在 application.yml 中为 grails 视图添加配置:

在“src”下创建此路径:

src/main/resources/META-INF/services/grails.plugin.json.builder.JsonGenerator$Converter

并将转换器添加到我在上面文件中命名的域类中^:

在我的控制器中,我改变了:

return multibeamCatalogService.findFiles(cmd, params)

为此(为了像以前一样在浏览器中获取 JSON 输出):

respond multibeamCatalogService.findFiles(cmd, params), formats: ['json', 'xml']

不幸的是,我能想到的上述大多数排列都导致了诸如“无法解析视图”之类的错误。否则,当我收到回复时,主要问题是日期未格式化为字符串。此功能以前由 Marshaller 执行。

我越来越沮丧。有人能告诉我如何在我的 JSON 输出中将 ZonedDateTime 格式化为一个简单的字符串(例如 - “2009-06-21T00:00:00Z”),而不是像这样的巨型对象吗?简单地转换为 java.util.Date 会导致“无法解析视图”错误再次出现;因此,这期望我制作一个“.gson”视图,该视图永远不会显示我期望的格式或为空。

0 投票
2 回答
5644 浏览

date - java 8 从 zonedLocalTime 获取 timeZone

我正在编写一个辅助方法,它接受日期的字符串表示并返回 TimeZone

例如:

(这里的输入是 PST。我使用的是 -7:00 的 UTC 偏移量)

当我通过上述日期时,我得到Africa/Abidjan的是完全不正确的。

我更喜欢“America/Los_Angeles”,但至少是正确的。从某种意义上说,我在这里得到的完全错误,在阿比让和洛杉矶的时间非常不同。

到达这里的正确方法是什么?

0 投票
2 回答
3816 浏览

java - 为什么 Jackson 的默认解串器将 Zone 设置为 UTC 而不是 Z?

我想我一定是误解了 Zones 在 java 的 ZonedDateTime 类中是如何工作的。当我使用 Jackson 序列化然后反序列化 now() 时,反序列化的值具有 getZone() == "UTC" 而不是序列化值中的 "Z"。谁能向我解释为什么会这样以及我应该做什么?

下面的代码打印:

java源码: