ruby - 一年一度的 ruby 日期?

标签 ruby datetime date

有没有办法在没有年份信息的情况下表示像 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/

相关文章:

MySQL YYYY-MM-DDThh :mm:ss

javascript - 将日期字符串转换为 YYYY-MM-DDTHH 时遇到问题 :MM:SS-HH:MM format

php - 检查php中数据库中的日期字段是否过期

ruby-on-rails - 如何在用户注册 Ruby on Rails 后 x 小时发送电子邮件?

ruby-on-rails - Rails 3/Ruby 1.9.2 Date.tomorrow 不正确

c# - 如何将日期字符串解析为 NodaTime 对象?

date - 我如何在 symfony2 中将日期对象转换为时间

ruby - 为什么 Array * 在 Ruby 中引用而不是复制值?

ruby - join 如何在 ruby​​ 线程上工作?

python - 用 Pandas 计算每日平均值