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



我不需要使用CQ5 xtype'datefield',因为我只需要作者输入的日期而不是时间。

但问题是"datefield"将JCR中的日期保存为字符串,而不是时间点击[就像使用"datetime"时那样。

有没有解决方法将日期保存为时间戳?

我认为不可能

使用 datefield 将日期保存为时间戳,而不干预默认脚本。但作为一种解决方法,您可以使用日期时间并将属性 hideTime 设置为 true,以隐藏时间部分,以便作者无法创作它。

配置的 json 如下所示。

{   "fieldLabel":"Date",
    "xtype":"datetime",
    "hideTime":true,
    "name":"./date",
    "defaultValue":"now",
    "jcr:primaryType":"cq:Widget"
}
如果您希望将

当前日期初始化为默认值,则可以将 defaultValue 添加到 '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);
%>

从上面,您还可以将其转换为日期对象,具体取决于您希望操作的内容。

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

最新更新