你好,
問題很簡單,我能夠解決,但輸出中似乎存在錯誤。 所以想知道我的公式是否有錯誤?
我有一個帶有時間列的 JMP 表,格式為 (mm/dd/yyyy h:m:s AM/PM)
dt << New Column( "DATE_FLAG",
Character,
Nominal,
Formula( If( Abbrev Date( :Name( "TIME_COL@ABC" ) ) <= Abbrev Date( 22Jul2020 ), "before", "after" ) )
);
現在終於在我更新的表中,我得到了 DATE_FLAG 列和之前/之後的值。 但是一些應該在 2020 年 7 月 22 日之前的值/行)仍然被標記為之後? 其餘行按預期標記。
那有什麼問題呢? 我必須指定日期時間格式嗎? 如果是這樣我怎麼辦?
我想我已經解決了問題,但需要一些幫助:
縮寫日期比較是比較兩個字符日期字符串,這就是為什麼將 07/04/2020 10:12:34 AM 轉換為 07/4/2020 與 07/22/2020 相比時給出的是之後而不是之前。
我怎樣才能解決這個問題?
謝謝
無需對任何其他內容進行任何轉換即可比較日期值。
通過以 ddMonYYYY 格式指定日期,只需在比較中使用日期常量:
dt << New Column( "DATE_FLAG",
Character,
Nominal,
Formula( If( :Name( "TIME_COL@ABC" ) <= 22Jul2020, "before", "after" ) )
);
閱讀有關日期值的更多信息:
在 JMP 中使用日期、時間、日期時間和持續時間