对于我正在创建的东西,用户可以购买可以使用 X 天的商品。该项目的到期日期存储在我的 MySQL 数据库中,我决定将它存储为一个整数,它代表这一年已经过去的天数。然后我使用这个值来检查当前过去的天数是否大于到期日,然后使项目到期。
但是,如果该商品是在 12 月的第 360 天购买的,而到期日期是 30 天后,也就是明年的第 25 天,我将这两个值进行了比较-该商品会提前到期 360 > 25.
while (set.next()) {
String uuid = set.getString("UUID");
String rank = set.getString("Rank");
int expiry = set.getInt("Expiry");
if (DATE < expiry) {
pipe.hset("donator_data", set.getString("UUID"), set.getString("Rank"));
} else {
// expire rank
}
}
DATE是一年中过去的天数。此代码在服务器启动时运行一次,因此即使它不必太高效,但为了安心,我还是希望如此。我还考虑使用日期对象并比较它们,实际上我只需要两个日期,到期(日/月/年)和当前(日/月/年)然后编写一些代码来比较它们(例如 if (expiryYear < year) | | if (expiryMonth < 月) 等。
关于如何克服这个问题的任何其他建议?
jeck猫
相关分类