有没有办法在没有年份信息的情况下表示像 12/25 这样的日期?我正在考虑只使用 [month,year]
数组,除非有更好的方法。
最佳答案
您可以使用 Date 类并将年份硬设置为闰年(以便您可以根据需要表示 2/29)。如果您需要在两个日期之间执行“距离”计算(假设您不需要跨越年份边界并且您不关心在多年来错误地跨越了 2/29)。
这也可能很方便,因为如果您愿意,您可以使用 #strftime
将日期显示为(例如)“Mar-3”。
不过,根据使用情况,我想我可能会明确地表示它们,无论是在配对数组中还是在 YearlessDate = Struct.new(:month,:day)
中。这样您就不会犯上述错误。
但是,我从来没有遇到过与年份无关的日期。假设您就是这种情况,那么 @SeanHill 的答案是最好的:保留年份信息,但在不合适时不要向用户显示它。
关于ruby - 一年一度的 ruby 日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4576827/