【发布时间】:2011-01-12 16:32:36
【问题描述】:
这是一般编程,但我正在使用 Java。
给定日期 dd-mm-yy 或 dd-mm-yyyy(例如 13-01-2011),我想将其转换为唯一数字,以便任何两个日期都有不同的数字。年份并不重要。因此,只需将 dd-mm 转换为一个唯一的 int 是可以接受的。有谁知道这样做的算法?
对不起:我想更具体一点:
唯一数字应该是从 1 到 365(或 0 到 364),或者应该以唯一的模 365 分解。(目前我忽略了闰年的情况)。
因此连接“ddmm”可能是一个唯一的 4 位数字。但是模 365 可能不会是唯一的。
【问题讨论】:
-
功能需求是什么?这个问题可能需要在其他地方解决。否则你可以坚持使用
Date,它本身已经有一个equals()方法......编辑:等等,你想考虑两个具有相同dd-MM的日期相等吗? (注意mm代表分钟,而不是月) -
@BalusC:dd-MM 是当前要求。这可能会改变,我不想成为不得不修改可能只使用两行代码的人。
-
闰年有 366 天,所以一年的第一个和最后一个模 365 相同。 ;)