首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Date with Time only get为空

Date with Time only get为空
EN

Stack Overflow用户
提问于 2013-07-14 23:51:06
回答 1查看 411关注 0票数 0

我使用的是Grails插件,date http://grails.org/plugin/jquery-date-time-picker datetime插件工作得很好。然而,时间是有问题的。

我尝试将时间仅用于日期时间选择器。我的Config.grovy如下所示。

代码语言:javascript
复制
jqueryDateTimePicker {
  format {
    java {
      datetime = "dd/MM/yyyy HH:mm"
      date = "dd/MM/yyyy"
    }
    picker {
      date = "'dd/mm/yy'"
      time = "'hh:mm tt'"
    }
  }
}

我的GSP代码是这样的。

代码语言:javascript
复制
<jqueryPicker:time name="openFrom" id="openFrom" value="${addressInstance?.openFrom}" pickerOptions="[dateFormat: '', timeOnly: true, hourGrid: '4', minuteGrid: '15', timeFormat: 'hh:mm tt']"/>

我的控制器是

代码语言:javascript
复制
def addressInstance = new Address(params)

在这里的控制器中,我可以看到参数的时间是"7:00 am“,但它从来没有在addressInstance中设置过,我相信是因为日期丢失了。

EN

回答 1

Stack Overflow用户

发布于 2013-07-15 01:26:11

默认的Date绑定采用常规日期格式yyyy-MM-dd hh:mm:ss.S

为了将openForm日期绑定到addressInstance,您可以显式地将其设置为:

代码语言:javascript
复制
//where params.openForm is String like "7:00 AM"
addressInstance.openForm = Date.parse("h:mm a", params.openFrom)

Date.parse()将字符串解析为当前格式以返回Date对象。在上面的例子中(你只关心时间),你会得到纪元(1970年1月1日),时间是上午7点

代码语言:javascript
复制
def date = Date.parse("h:mm a", "7:00 AM")
//prints Thu Jan 01 07:00:00 EST 1970

//To get the time string from the date stored in db
date.format("h:mm a") //Prints 7:00 AM

您还可以查看是否可以注册一个自定义属性编辑器,如here所示,以使用自定义格式自动绑定日期。如果您不想将此格式应用于所有日期字符串,则不希望执行此操作。在这种情况下,我认为前一种方法将是有用和简单的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17640974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档