2012-07-30 90 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

相關問題