Как преобразовать метку времени в html значение поля ввода даты PHP - PullRequest
0 голосов
/ 22 марта 2020

В моем коде вот как я конвертирую html значения поля даты в unix метку времени перед вставкой в ​​MySQL дБ, что прекрасно работает:

//HTML Code:
<div class="form-group">
From:
<input type="date" name="dateFrom" value="<?php echo date('Y-m-d'); ?>" required/>
</div>

<div class="form-group">
To:
<input type="date" name="dateTo" value="<?php echo date('Y-m-d'); ?>" required/>
</div>

//PHP Code to convert to Time Stamp:
<?php $post->unix_stamp = strtotime($_POST['dateFrom']);
$post->unix_stamp_ex = strtotime($_POST['dateTo']);
$post->save(); ?>

Как мне конвертировать unix отметка времени назад к html значение даты ввода для редактирования? Что я пробовал:

<input type="date" name="dateTo" value="<?php echo date("Y-m-d\TH:i:s",$post->unix_stamp_ex); ?>" required/>

Где $ post-> unix_stamp_ex - это значение unix timestamp. (у меня не работает, вместо этого показывает дд / мм / гггг). Моя проблема в том, как получить базовое значение, отображаемое при вводе даты, чтобы пользователи могли его редактировать

Ответы [ 3 ]

2 голосов
/ 22 марта 2020

Причина, по которой ваш ввод показывает заполнитель 'дд / мм / гггг', заключается в том, что он не может прочитать формат, который вы ему дали. Он не может работать со временем, поэтому вам нужно удалить его из кода:

value="<?php echo date('Y-m-d',$post->unix_stamp_ex); ?>"

Это покажет дату во входных данных.

Также имейте в виду, что отображаемое значение будет отличается от фактического формата значения, согласно моему комментарию и ответу RoussKS.

0 голосов
/ 22 марта 2020

Брат, я могу преобразовать строку базы данных обратно в читаемое время, используя следующий метод.

Решения

$databaseTime = '2020-03-22 09:45:48';
$date = strtotime($databaseTime);

echo "DatabaseTime: " . $databaseTime . "<br>";
echo "Date in epoch: ".$date."<br>";
echo "Readable date: ".date("Y-m-d H:i:s",$date)."<br>";

Результаты

https://prnt.sc/rkmleq

0 голосов
/ 22 марта 2020

В соответствии с Документами Mozilla Developer для типа ввода даты

Отображаемый формат даты будет отличаться от фактического значения - отображаемая дата форматируется на основе языкового стандарта пользователя. в браузере, но проанализированное значение всегда форматируется гггг-мм-дд.

[править] Только что заметил ответ на комментарий, набирал как El_Vanja прокомментировал [/ edit]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...