如何减去日期?

时间:2009-01-16 23:52:17

标签: datetime

让我们说那个人在我的网站上注册了5美元30天。那么如何在30天后自动创建代码删除他的帐户呢?

感谢您的回答并抱歉英语不好 恭敬地,汤姆

6 个答案:

答案 0 :(得分:10)

使用首选编程语言的日期处理功能。不要试图自己实现它。这比你想象的要难。

答案 1 :(得分:3)

我建议只记录帐户的记录中的过期日期,而不是使用某种计划过程来删除过期帐户。

对于.Net示例:当您收到$ 5付款时,将帐户的到期日期设置为DateTime.Now.AddDays(30),并拒绝登录expirationDate< DateTime.Now。

在Java中,您需要将日期倒入日历中以添加天数,然后在完成后将其倒回日期。

但是,可用于处理日期的设施取决于您的环境。

答案 2 :(得分:2)

如果可以,请将注册日期和当前时间转换为UNIX时间戳。然后从当前时间减去其注册时间,并检查结果是否大于30天内的秒数。 (60秒* 60分钟* 24小时* 30天= 2592000秒。)

答案 3 :(得分:0)

您很可能每天都会运行一个cron作业,并检查并查看帐户的上次付款是否是30天前,然后删除该用户。但是,除非我们知道您使用的语言,否则操纵日期很难解释。由于您指定了DateTime,我将假设您指的是.NET DateTime对象,然后您可以执行DateTime.addMonths(-1);或者分别是DateTime.addDays(-30)。

答案 4 :(得分:0)

如果您只需要计算30天,则可将其计为30 * 24 * 60 * 60 = 2592000秒,并简单地减去unix时间戳。

比这更复杂的是PITA要实现自己,yuo应该遵循递归的建议。

答案 5 :(得分:0)

wxWidgets具有良好的日期处理功能,以及许多其他功能。