0

我正在创建一个存储用户详细信息的应用程序。其中一个字段是创建时间和用户希望其帐户处于活动状态的天数。我date('c')用来将时间存储在created表字段中。现在,如果用户选择他希望他的帐户仅活动一天,我如何将这一天添加到当前date('c')并将其存储到我的下一个表字段中valid_till

后来我打算检查当前date('c')是否在createdandvalid_tll字段之间,然后用户帐户处于活动状态,否则该帐户被删除。

我想使用 sql 触发器来删除帐户。

4

3 回答 3

2

您可以使用 PHP 的strtotime()

$valid_till = date('c', strtotime('+1 day'));

您可以在 PHP 手册的Supported Date and Time Formats部分阅读有关可能格式的更多信息。

于 2013-02-09T14:30:15.690 回答
1

为什么不使用 SQL,根据您使用的引擎,您可以使用 create= NOW()、expires NOW() + 间隔 number_of_days 之类的东西,sql 引擎为您处理日期,您无需费心创建php时代并与他们一起工作..

于 2013-02-09T14:34:48.330 回答
1

这是一个基于 SQL 的解决方案。您可以将其转换为更新或插入。

SELECT
    `created`,
    CONCAT(
        DATE_FORMAT(
            DATE_ADD(SUBSTRING(`created`,1,10), INTERVAL 1 DAY), '%Y-%m-%d'
        ),
        RIGHT(`created`,15)
    ) AS 'valid_till'
FROM `some_table`

但我建议使用 SQLUTC_TIMESTAMP()而不是 PHP 日期函数,并使用TIMESTAMP数据类型而不是a 的行,(VAR)CHAR以便您在 SQL 端进行更轻松的计算。

于 2013-02-09T14:53:32.680 回答