首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >strtotime php mysql

strtotime php mysql
EN

Stack Overflow用户
提问于 2010-11-21 18:03:16
回答 1查看 2.3K关注 0票数 1

我所要做的就是让php文件从子日期开始累积结束日期。我不明白为什么这个strtotime函数不起作用。我的数据库将日期存储为"Y-m-d“。

代码如下:

代码语言:javascript
复制
//disguised for security reasons
$db = mysql_connect("*******", "*******","********");
mysql_select_db("*******",$db);

$getad = mysql_query("SELECT id, annual_sub_date FROM members WHERE annual_sub_date!=null", $db);
while ($gad = mysql_fetch_array($getad)) {
$id = $gad['id'];
$asd = $gad['annual_sub_date'];
$aedate_time = strtotime('+1 year', $asd);
$aedate = date("Y-m-d", $aedate_time);
mysql_query("UPDATE members SET annual_end_date='$aedate', annual_active='Y' WHERE id='$id'");
}

-解决了IT问题

代码语言:javascript
复制
//Wrong Way
$getad = mysql_query("SELECT id, annual_sub_date FROM members WHERE annual_sub_date!=null", $db);

//Correct Way
$getad = mysql_query("SELECT id, annual_sub_date FROM members WHERE annual_sub_date IS NOT NULL", $db);
EN

回答 1

Stack Overflow用户

发布于 2010-11-21 18:08:50

strtotime的第一个参数是字符串形式的绝对或相对日期,第二个参数是整数时间戳。第一个参数是相对日期(字符串),第二个参数是绝对日期(也是字符串)。您需要先使用strtotime$asd转换为时间戳。

代码语言:javascript
复制
$aedate_time = strtotime('+1 year', strtotime($asd));

顺便说一句,你可以在SQL中用一个查询完成整个日期的计算和更新,而不需要在PHP中花费很长的时间。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4237314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档