Aem 将日期另存为CQ5中的时间戳

Aem 将日期另存为CQ5中的时间戳,aem,Aem,我不需要使用CQ5 xtype“datefield”,因为我只需要作者输入日期而不需要输入时间 但问题是“datefield”将JCR中的日期保存为字符串,而不是timestap[当使用“datetime”时是这样做的。] 是否有办法将日期另存为时间戳?我认为不需要修改默认脚本,就不可能使用datefield将日期另存为时间戳。但是作为一种解决方法,您可以使用datetime并将属性hideTime设置为true,以隐藏时间部分,这样作者将无法编写它 配置的json如下所示 { "field

我不需要使用CQ5 xtype“datefield”,因为我只需要作者输入日期而不需要输入时间

但问题是“datefield”将JCR中的日期保存为字符串,而不是timestap[当使用“datetime”时是这样做的。]


是否有办法将日期另存为时间戳?

我认为不需要修改默认脚本,就不可能使用datefield将日期另存为时间戳。但是作为一种解决方法,您可以使用datetime并将属性hideTime设置为true,以隐藏时间部分,这样作者将无法编写它

配置的json如下所示

{   "fieldLabel":"Date",
    "xtype":"datetime",
    "hideTime":true,
    "name":"./date",
    "defaultValue":"now",
    "jcr:primaryType":"cq:Widget"
}
如果希望将当前日期初始化为默认日期,如果作者未明确填写,则可以将defaultValue添加到'now',否则可以忽略该日期


注意:默认值:“now”在IE中不适用(我正在使用IE 11并通过开发工具模拟以前的版本),但在Chrome和Mozilla中可以正常工作。

jsp的大致解决方法:

<%@page import="java.text.SimpleDateFormat,java.util.Date"%>

<%
SimpleDateFormat displayDateFormat = new SimpleDateFormat("dd MMM yyyy");
String dateField = properties.get("nameofdatefield", "");
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy");
Date formattedDate = sdf.parse(dateField);
String formattedDateStr = displayDateFormat.format(formattedDate);

out.println('Example of formated string'+formattedDateStr);
%>

根据您希望操作的内容,您还可以将其转换为日期对象

让我知道上面的例子是否有用