Xpages 为什么我需要使用@Text来显示日期字段?

Xpages 为什么我需要使用@Text来显示日期字段?,xpages,Xpages,我用下面的公式计算了一个字段 var time = ""; if(@IsNewDoc()==1) time = @Now(); else time = @Text(@GetField("FormCreated")); return time; 我唯一能做到这一点的wy就是用@Text包装@GetField(“FormCreated”)。计算字段设置为DateTime,FormCreated是文档中的实际日期/时间值 为什么@Now不需要@Text?当您使用@GetField时,您将得到一个No

我用下面的公式计算了一个字段

var time = "";
if(@IsNewDoc()==1) time = @Now();
else time = @Text(@GetField("FormCreated"));
return time;
我唯一能做到这一点的wy就是用@Text包装@GetField(“FormCreated”)。计算字段设置为DateTime,FormCreated是文档中的实际日期/时间值


为什么@Now不需要@Text?

当您使用@GetField时,您将得到一个NotesDateTime,并且@Now返回一个java日期。 试试这个代码

var time = "";
if(@IsNewDoc()==1){
 time = @Now();
}else{
var time2:NotesDateTime = @GetField("FormCreated")[0];
time=time2.toJavaDate();
}
return time;

更新了代码并在@GetField行的末尾添加了[0],以从返回的向量中获取第一个条目。

使用@GetField时,您将获得一个NotesDateTime,@现在返回一个java日期。 试试这个代码

var time = "";
if(@IsNewDoc()==1){
 time = @Now();
}else{
var time2:NotesDateTime = @GetField("FormCreated")[0];
time=time2.toJavaDate();
}
return time;

更新了代码并在@GetField行的末尾添加了[0],以从返回的向量中获取第一个条目。

这与类型转换无关,但我很高兴看到Fredrik的答案中有大括号。代码不应该包含有意义的空白。蒂姆,我的代码在编辑后仍然可以转换,因为@GetField返回一个向量,我没有找到,但我是从内存而不是从设计器中编写的。啊。抢手货我主要是指问题中的代码,它没有卷发,因此比较脆弱。。。直到有任何内容导致空格更改(例如,设计器自动设置格式)。如果您总是在ifs中包含大括号,那么如果空格更改,代码不会突然中断。这是我在这篇文章中试图表达的唯一一点:在前面花费几分之一秒的时间来降低代码的脆弱性可以避免以后几个小时的混乱故障排除。这与类型转换无关,但我很高兴看到Fredrik的答案中有花括号。代码不应该包含有意义的空白。蒂姆,我的代码在编辑后仍然可以转换,因为@GetField返回一个向量,我没有找到,但我是从内存而不是从设计器中编写的。啊。抢手货我主要是指问题中的代码,它没有卷发,因此比较脆弱。。。直到有任何内容导致空格更改(例如,设计器自动设置格式)。如果您总是在ifs中包含大括号,那么如果空格更改,代码不会突然中断。这是我在这篇文章中试图表达的唯一一点:在前面花费几分之一秒的时间来降低代码的脆弱性,可以避免以后几个小时混乱的故障排除。