Xpages排序日期

Xpages sorting date

我无法在 Xpages 中排序和显示正确的日期。 它以 "dd.MM.yyyy" 格式保存,并且是一个字符串。

现在为什么它是一个字符串并以这种方式格式化,是因为我的老板有特殊的愿望。当我想将它从最新日期排序到更早日期时,它会执行如下操作:

26.05.2015
24.06.2014
22.04.2015
21.04.2015
20.03.2014

开始按天排序。

有没有办法让它按应有的方式排序?

我看到我可以将计算值写入视图列 header 中的排序列以获取日期。但我什至不知道如何开始。

如果日期时间值不能解决您的问题并且您没有通过@Text 转换您的日期(如评论中所述),那么在您应该显示的列之前创建另一个(隐藏)列。将其设置为真实日期(来自您的项目),对其进行排序并取消对要显示的列进行排序。

否则在新创建的排序列中使用此公式:

@Text(@Year(yourDate))+"-"+@Right("00"+@Text(@Month(yourDate));2)+"-"+@Right("00"+@Text(@Day(yourDate));2)

更改基础 Notes 视图以使日期列的顺序正确。

将日期字符串转换为视图列公式中的实际日期值。假设您的字段名为 DateText 那么您的公式将是

@Date(@ToNumber(@Right(DateText; 4)); 
      @ToNumber(@Middle(DateText; 3; 2)); 
      @ToNumber(@Left(DateText; 2)))

只使用 @ToTime(DateText) 会更容易,但这可能会失败,具体取决于服务器的本地设置。您的日期字符串格式适用于具有德语区域设置的服务器,但不适用于美国。这就是为什么我建议的解决方案 "safer".