[英]Current date minus 4 month?
我有这种格式的日期(YYYYMM):
201201 // Gen, 2012
201202 // Feb, 2012
201203 // ecc
让我们说从201203年开始我想减去4个月。 我不能做201203 - 4
因为它是= 201199
201203 - 4
应输出201111
(2011年11月)
也许我应该将我的字符串转换为日期,然后将其传递给strtotime 4个月?
有什么建议?
strtotime()
可以这样做,但你需要在一个月中添加一天来解析日期:
$input = '201203';
$input .= '01';
$date = strtotime($input .' -4 months');
echo date('Ym', $date);
2011年11月的产出:
201111
除了strtotime
版本,从PHP 5.3开始,您还可以使用DateTime
和DateInterval
:
$date = DateTime::createFromFormat("Ym", "201201");
$interval = new DateInterval("P4M"); // 4 months
$fourMonthsEarlier = $date->sub($interval);
echo $fourMonthsEarlier->format("Ym");
您可以使用strtotime将字符串转换为UNIX时间戳,以秒为单位。 time()
将为您提供当前的UNIX时间戳。 减去它们以获得日期的秒数,并除以60*60*24
以获得它的天数
对于EX $ da = 2014-04-01
如果你想减去6个月使用这个..
$date = strtotime($da .' -4 months');
$final=date('Y-m-d', $date);
echo $ final;
以前的代码不起作用:
$da='2014-08-29';
$date = strtotime($da .' -6 months');
$final=date('Y-m-d', $date);
echo $final;
$date = strtotime($da .' -7 months');
$final=date('Y-m-d', $date);
echo $final;
二月不见了!
Final_date = Currentdate - 4个月
<?php
$current_date = date("Y-m-d");
$final_date = date("Y-m-d", strtotime($current_date." -4 months"));
echo $final_date;
$date = '2016-09-01 00:00:00.000000';
$date2 = date("Y-m-d H:i:s.u", strtotime($date." -4 months"));
echo $date2;
运行此代码,您将获得2016-05-01 00:00:00.000000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.