grails - Grails 3 与 Grails 4 - 日期和时间戳
问题描述
我正在尝试将我的 Grails 3 应用程序升级为 Grails 4。在这两种情况下,我都将它与 Java 8 和 Oracle 数据库一起使用。我看到了日期处理方式的差异,并试图找出有关日期的变化,但没有发现任何关于此的内容(在发行说明等中)。有没有人可以指出我的博客文章/发布说明?或者,解释下面的差异?
两个例子
我使用这样的函数从 Oracle 获取日期
Date currentDateTime; // NOte this is a java.util.date
{$Sql.TIMESTAMP = call GetcurrentDateTime} {
returnedDateTime -> currentDateTime = returnedDateTime;
}
在 Grails 3 中,returnedDateTime 总是表现为 java.util.Date。我知道函数调用中的返回参数是 Sql.TIMESTAMP,但它会让我将它分配给 Date 变量,然后表现得像一个 Date。但在 Grails 4 中,它的行为类似于 java.sql.Timestamp,即使它被声明为 Date 变量。
另一个例子:在我看来,我会有一个看起来像这样的日期选择器
<div data-role="controlgroup" data-mini="true" data-type="horizontal" >
<g:datePicker name="reportingPeriod" precision="month"
value="${reportingPeriod}"
default="none" noSelection="['':'']"
/>
</div>
在 Grails 3 中,我可以通过执行以下操作来回显该值:
log.info("params.reportingPeriod: " + params.reportingPeriod);
它将显示如下所示的结果params.reportingPeriod
:Sun Dec 01 00:00:00 UTC 2019
我也可以分配
params.reportingPeriod
直接到java.util.Date
变量
但在 Grails 4 中,控制器改为显示这个
params.reportingPeriod: date.struct
并且它没有正确地直接分配给 Date 变量。
解决方案
推荐阅读
- ios - 在地图 Swift 上选择注释时坐标为零
- omnet++ - 关于开关的 Omnet++ 模拟
- r - bookdown 到 html_document2 中的数字列表
- php - 图片路径未上传到数据库php codeigniter
- android - android 的 AES 加密问题 - 使用 react-native-crypto-js 包进行开发与发布构建
- google-sheets - 登录后的 ImportXML 功能
- c# - 从 StandardOutput.ReadToEnd 获取整个输出时遇到问题
- python-3.x - 使用 PySpark 在读取时过滤镶木地板文件
- react-native - React native 在异步函数上不显示错误
- python - 使用 struct 和 char* 从 python 取回数据的 Ctypes