2012-07-30 93 views
0

我有一个具有以下公式的计算字段。为什么我需要使用@Text来显示日期字段?

var time = ""; 
if(@IsNewDoc()==1) time = @Now(); 
else time = @Text(@GetField("FormCreated")); 
return time; 

只有我可以得到这个工作的是用@Text包装@GetField(“FormCreated”)。计算字段设置为DateTime,FormCreated是文档中的实际日期/时间值。

为什么@Now不需要@Text?

回答

3

当您使用@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]获得从返回的向量的第一项。

+3

这与类型转换无关,但我很高兴在Fredrik的答案中看到大括号。代码不应该包含有意义的空白。 – 2012-07-31 00:42:57

+0

Tim,转换或不我的代码仍然工作后,我编辑它,因为@GetField返回一个向量,我错过了,但我是从内存而不是从设计师写。 – 2012-07-31 08:14:29

+0

啊。接得好。大多数情况下,我指的是问题中的代码,它没有卷曲,因此比较脆弱。 – 2012-07-31 11:15:06

相关问题