0

我在 XPage 上有一个日期字段,此控件可能包含日期或为空白。在重复控制中,我有以下代码:

var doc:NotesDocument = detailData.getDocument();
var sDate = doc.getItemValue("ACAutoStart");
doc.recycle()
return "Start Date = " + sDate

如果 ACAutoStart 包含日期,则显示为 [10/10/2013 12:34:15 AM MDT],如果为空白,则显示为 []。据我了解, [] 表示结果是一个数组,但如果我尝试使用 sDate[0] 则会出现错误。我不能使用 getItemValueDateTime 因为它不喜欢 null 返回。如何将其转换为简单的字符串值?

4

2 回答 2

3

将最后一行替换为return "Start Date = " + sDate.firstElement().

doc.getItemValue()返回一个类的对象java.util.Vector。因为它不是一个数组,所以你得到第一个元素firstElement()而不是[0].

更新:

正如您在评论中提到的,它也必须适用于空值,并且您添加了尝试:

    var sDate = "";
    try {sDate = doc.getItemValue("ACAutoStart").firstElement()} catch (e) {};
    return "Start Date = " + sDate
于 2013-10-28T20:41:34.733 回答
0

...就像另一种方式(将转换后的 NotesDateTime 返回到日期):

function getJavaDateData(doc:NotesDocument, field:string)
{
var item:NotesItem = doc.getFirstItem(field);

if (item != null){
    var dt:NotesDateTime = item.getDateTimeValue();
    if (dt != null){
        return dt.toJavaDate();
    }       
}

return null;
}

偏离路线需要适应你的逻辑......

于 2013-10-31T15:16:06.577 回答