你好,
问题很简单,我能够解决,但输出中似乎存在错误。 所以想知道我的公式是否有错误?
我有一个带有时间列的 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 中使用日期、时间、日期时间和持续时间