php 如何使用time()返回TRUE?

uurv41yg  于 2023-01-19  发布在  PHP
关注(0)|答案(2)|浏览(162)

如果帐户是在30天前创建的,如何返回TRUE?
我有以下日期:
$udata['joined'];-记录日期时间():
我试过这样

If($udata['joined'] = strtotime ("+30 days", time())){
    return true;
}

你知道为什么它不能正常工作吗?
返回空。

fsi0uk1n

fsi0uk1n1#

我猜你想
If timestamp is smaller than (or exactly) 30 days ago

if ($udata['joined'] <= strtotime("-30 days", time()) {
    return TRUE;
}

(you从现在起需要减去30天,并删除所有语法错误)

bvjxkvbb

bvjxkvbb2#

您正在赋值而不是使用operator,即您正在使用=而不是==

If($udata['joined'] == strtotime ("+30 days", time())){
    return true;
}

编辑

正如其他人所指出的,检查是否相等很可能总是返回false,因为如果您遇到完全相同的时间戳,那将是非常幸运的!
您要查找的是<=(小于或等于)运算符,用于检查$udata['joined']是否是30 days ago之前 * 的时间戳。

// true if the provided date is before 30 days ago
return strtotime($udata['joined']) < strtotime("-30 days", time());

相关问题