我想获得$ registratiedag并计算额外的几天,但我总是被困在它需要成为UNIX时间戳的事实上?我做了一些谷歌,但我真的不明白。
我希望有人可以帮我解决这个问题。这是我到目前为止所得到的。
$registratiedag = $oUser['UserRegisterDate'];
$today = strtotime('$registratiedag + 6 days');
echo $today;
echo $registratiedag;
echo date('Y-m-d', $today);
strtotime('$registratiedag + 6 days');
部分显然有问题,因为我总是得到1970-01-01
答案 0 :(得分:1)
你可能想要这个:
// Store as a timestamp
$registratiedag = strtotime($oUser['UserRegisterDate']);
$new_date = strtotime('+6 days', $registratiedag);
// You'll need to format for printing $new_date
echo date('Y-m-d', $new_date);
// I think you want to compare $new_date against
// today's date. I'd recommend a string comparison here,
// As time() includes the time as well
// time() is implied as the second argument to date,
// But we'll put it anyways just to be clearer
if( date('Y-m-d', $new_date) == date('Y-m-d', time()) ) {
// The dates are equal, do something here
}
else if($new_date < time()) {
// if the new date is earlier than today
}
// etc.
首先,它将$registratiedag
转换为时间戳,然后再添加6天
编辑:您可能应该将$today
更改为更少误导的内容,例如$modified_date
或其他
答案 1 :(得分:0)
尝试:
$ today = strtorime($ registratiedag); $ today + = 86400 * 6; //秒1天* 6天
至少有一个问题是PHP不会用单引号扩展变量。
答案 2 :(得分:0)
$today = strtotime("$registratiedag + 6 days");
//use double quotes and not single quotes when embedding a php variable in a string
答案 3 :(得分:0)
如果您希望将变量$registratiedag
的值包含在作为strtotime
参数传递的文本中,则必须将该参数括在"
中,而不是'
。 }。