Datetime Xpages日期时间

Datetime Xpages日期时间,datetime,xpages,xpages-extlib,Datetime,Xpages,Xpages Extlib,我要疯了 例如,我想要一个日期格式的日期 2017年6月21日17:23:04 GDT 我在文档上盖章,但我想在我的xpage上显示为: 2017年6月21日17:23 但无论我做什么,我总是得到不同的结果。我用鼠标点击一个按钮就可以得到日期 var dt = new Date(); 然后我将其传递到一个函数中: function AddObjectivesHistoryItem(doc, dt, action, username){ var ArrDocHistory:array = do

我要疯了

例如,我想要一个日期格式的日期

2017年6月21日17:23:04 GDT

我在文档上盖章,但我想在我的xpage上显示为:

2017年6月21日17:23

但无论我做什么,我总是得到不同的结果。我用鼠标点击一个按钮就可以得到日期

var dt = new Date();
然后我将其传递到一个函数中:

function AddObjectivesHistoryItem(doc, dt, action, username){

var ArrDocHistory:array = doc.getItemValueArray("History");

    if(ArrDocHistory.length < 1){
        // This should always return an object as it is created when an objectives document is first 
        // created but do this check to be safe and create an array if for some reason it doesnt exist
        ArrDocHistory = [dt+"|"+action+"|"+username];
    }else{
        // append new value to the array
        ArrDocHistory.push(dt+"|"+action+"|"+username);
    }
    doc.replaceItemValue("History",ArrDocHistory);
    doc.replaceItemValue("LastUpdatedByName",username);
    doc.replaceItemValue("LastUpdatedDate",dt); 
}
函数AddObjectivesHistoryItem(文档、dt、操作、用户名){
var ArrDocHistory:array=doc.getItemValueArray(“历史”);
if(ArrDocHistory.length<1){
//这应该总是在第一次创建目标文档时返回对象
//已创建,但请执行此检查以确保安全,如果由于某种原因阵列不存在,请创建一个阵列
ArrDocHistory=[dt+“|”+操作+“|”+用户名];
}否则{
//将新值追加到数组中
ArrDocHistory.push(dt+“|”+操作+“|”+用户名);
}
文件替换项值(“历史”,ArrDocHistory);
doc.replaceItemValue(“LastUpdatedByName”,用户名);
文件替换项值(“LastUpdateDate”,dt);
}
我试过使用toLocaleString()和所有其他工具,但都不起作用

例如,ToLocalString()在我的xpage上显示为2018年3月13日15:02:15。除了使用连字符而不是斜杠之外,它与我想要的非常接近,并且还显示秒数

我已经尝试在我的日期字段属性上使用自定义日期模式,但运气不好,我确信我遗漏了一些非常明显的东西

任何关于如何首先获取日期(如21/06/2017 17:23:04 GDT)并将其存储为日期,然后将其显示为21/06/2017 17:23的指针,如果需要,可以是字符串


谢谢

如果您想存储为文本,
java.text.simpleDataFormat
最适合将日期服务器端转换为特定的文本格式。它也可以在转换器中用于操作到/从。

您可以通过以下方式在SSJS中以字符串形式获取日期值:

var dateTimeFormat = new java.text.SimpleDateFormat("dd/MM/yyyy kk:mm");
var dateTimeString = dateTimeFormat.format(dt)));

嗨,保罗,我的java不是很好。你是说我不能从SSJS中真正实现我想要的吗?完美,正是我需要的,保罗欢呼。供类似情况下的任何人参考,如果您希望以24小时格式显示时间,请将hh:mm更改为kk:mmdid@Chris:很好-在我的回答中,将
hh
改为
kk
。谢谢