PHP:
$date = str_replace('/', '-', $this->input->post('Insert_date'));
$data['Insert_date'] = date('Y-m-d', strtotime($date));
$data['Credit_limit'] = date($data['Insert_date'], strtotime("+10 days"));
echo $data['Insert_date'].'<br>';
echo $data['Credit_limit'].'<br>';
Выход:
2017-09-01
2017-09-01
Ожидаемый результат:
2017-09-01
2017-09-11
Любой может помочь мне, почему $ data [‘Credit_limit’]! = 2017-09-11. Почему 10 дней не добавляются в $ data [‘Credit_limit’] Как я могу решить эту проблему? Помогите мне, пожалуйста.
Ваш формат для strtotime
неправильно:
$data['Credit_limit'] = date('Y-m-d', strtotime($data['Insert_date'] . " +10 days"));
Объяснение:
Вам нужно добавить дату внутри strtotime
функция. date
Функция содержит формат в качестве первого параметра, например: date($format)
,
Вы используете функцию даты неправильно
$date = str_replace('/', '-', '2017-09-01');
$data['Insert_date'] = date('Y-m-d', strtotime($date));
$data['Credit_limit'] = date("Y-m-d", strtotime("+10 days",strtotime($data['Insert_date'])));
echo $data['Insert_date'].'<br>';
echo $data['Credit_limit'].'<br>';
Второе форматирование даты неверно. Попробуйте объединить дату и выражение плюс
$date = str_replace('/', '-', $this->input->post('Insert_date'));
$data['Insert_date'] = date('Y-m-d', strtotime($date));
$data['Credit_limit'] = date('Y-m-d', strtotime($date . " + 10 days"));
echo $data['Insert_date'].'<br>';
echo $data['Credit_limit'].'<br>';
Попробуй это:
$date = str_replace('/', '-', $this->input->post('Insert_date'));
$data['Insert_date'] = date('Y-m-d', strtotime($date));
$data['Credit_limit'] = date('Y-m-d', strtotime($data['Insert_date'] . " +10 days"));
echo $data['Insert_date'].'<br>';
echo $data['Credit_limit'].'<br>';