jin*_*y99 8 php date date-math
我是php的新手.我想知道php中的一些日期操作事项.
// Get Current date
$date = date("Y-m-d");
Run Code Online (Sandbox Code Playgroud)
如果我想减去当前日期和特定日期怎么办,让我们说"今天 - 2008-06-26"?
如何在PHP中进行日期数学操作(添加,减号,多重等)?
如果今天,订阅者今天订阅2009-06-26,1周后我想从我的数据库中删除他的帐户,我该怎么做?(我使用的是mysql)
如果我们将用户的日期存储在我们的数据库中,我们该怎么办?例如,我们可以存储用户的bday日期,所以在他的bday日,我们给他发了一些电子邮件.还有什么可以约会?
And*_*ore 13
首先,你需要了解的区别date(),time()和mktime().
date()仅用于显示目的.切勿将其用于数学操作.
time()返回当前timestamp(int表示当前时间和日期).
mktime(),没有任何参数,是相同的time().通过参数,它可以让您获得一段timestamp时间.参数依次为:小时,分钟,秒,月,日,年.
现在,您的问题:
要进行时间操作,您可以执行以下操作:
$today = mktime(0,0,0); //Today, time neutral
$otherDate = mktime(0, 0, 0, 6, 26, 2008); //2008-06-26, time neutral
$secondsBetweenDates = $today - $otherDate;
Run Code Online (Sandbox Code Playgroud)
你最好直接在SQL中做这样的事情.以下是为PHP中运行的两个最常见的数据库服务器执行此操作的方法.我假设DateSubscribed是在一个有效的日期数据类型.
--- MySQL
DELETE FROM `subscribers`
WHERE NOW() < DATE_ADD(`DateSubscribed`, INTERVAL 1 WEEKS);
--- PostgreSQL
DELETE FROM "subscribers"
WHERE CURRENT_TIMESTAMP < ("DateSubscribed" + interval '1 week');
Run Code Online (Sandbox Code Playgroud)
这取决于您的DBMS.以下是与MySQL和PostgreSQL的日期/时间函数相关的文档页面