передача строк в синтаксис sprintf

0

Я просто пытаюсь передать дату в sql как формат DATE (XXXX-XX-XX), но я не могу заставить sprintf принимать мои строковые компоненты даты. Кажется, я правильно слежу за документацией. используя php5.5

$year = ($_POST['year']);
$month = ($_POST['month']); 
$day = ($_POST['day']);

var_dump показывает:

 string(4) "1991" string(1) "8" string(1) "5"

однако оба этих var_dumps пусты:

$dobexpanded =sprintf("%04s-%02s-%02s", $year, $month, $day);
$dateofbirth = (STR_TO_DATE('$dobexpanded', '%Y-%m-%d'));
var_dump($dobexpanded);
var_dump($dateofbirth);
Теги:

2 ответа

1
Лучший ответ

Попробуйте -

$dobexpanded =sprintf("%04d-%02d-%02d", $year, $month, $day);
$dateofbirth = date('Y-m-d', strtotime($dobexpanded));
var_dump($dobexpanded);
var_dump($dateofbirth);
  • 0
    Спасибо. Хранится в виде строк, но формат даты конвертируется.
  • 0
    Рад помочь вам
1

попробуй это:

date('Y-m-d', mktime(0, 0, 0, $month, $day, $year));
  • 0
    Благодарю. Я закончил тем, что использовал ответ выше, но я уверен, что это сработало бы также.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню