我有这段代码:
$x = date("Y-m-d", strtotime($post['commissionEligibilityDate'] . "+ " . $post['billingPeriodExpiration'] . " months"))
$post['commissionEligibilityDate'] = 2011-11-08 <br/>
$post['billingPeriodExpiration'] = 2 <br/>
所以$x
会返回2012-01-08
。
我有另一个变量$singleDate
,它等于1
。我要做的是用08
替换01
。我怎么能这样做?
答案 0 :(得分:3)
您不必使用Y-m-d,您可以使用Y-m-01或您的变量:
$x = date("Y-m-".$singleDate, strtotime($post['commissionEligibilityDate'] . "+ " . $post['billingPeriodExpiration'] . " months"))
答案 1 :(得分:1)
您可以使用DateTime类:
$d = new DateTime($x);
$year = $d->format('Y');
$month = $d->format('m');
$d->setDate($year, $month, '01');
echo $d->format('Y-m-d');
答案 2 :(得分:0)
str_replace('08','01',$post['commissionEligibilityDate']);
答案 3 :(得分:0)
$explode = explode("-",$post['commissionEligibilityDate']);
$explode[2] = $singleDate;
$post['commissionEligibilityDate'] = implode("-",$explode);
$post['commissionEligibilityDate'] will now echo 2011-11-1
答案 4 :(得分:0)
PHP几乎可以做任何事情。我的建议是,您希望只从您考虑签出http://php.net/manual/en/function.date.php的日期中获取一个数字,以查看处理date()输出的各种方法。由于您可以轻松输出一天,然后添加到它$ z = date(&#39; d&#39;,time())+ 1;例如。
我不确定你对日期的具体做法是什么,但对我来说,听起来你可能误解了它们是什么,以及如何使用它们。基本上它的简短概念是,变量中定义的日期是一个字符串。即使没有使用date()然后存储它们,你也可以随意制作它们,只要它们在你存储时它们的格式正确即yyyy-mm-dd你应该没问题。