Я нуб, и имеет некоторые аналогичные вопросы, касающиеся использования StrToTime против взрываются. Я наткнулся на эту тему, и мне очень помогли комментарии относительно изменения в лимите даты Марк Бейкер (спасибо!). Поэтому я написал этот код, чтобы играть с концепцией. Возможно, это поможет другим нообам, таким как я.
Просто измените дату на верхней строке PHP и посмотрите, что будет с датами ниже - очень интересно. Еще раз спасибо!
<?php $dob = "1890-11-11"; ?>
<html>
<head>
<style>
.inputdiv {
width:200px;
margin:100px auto 10px auto;
background-color:#CCC2FC;
text-align:center;
border:1px solid transparent;}
.spacer{
width:199px;
margin:20px auto 20px auto;}
</style>
</head>
<body>
<div class="inputdiv">
<div class="spacer"><?php echo "Raw dob: ".$dob ?></div>
<div class="spacer"><?php echo "Strtotime dob: ".date("m-d-Y", strtotime($dob)) ?></div>
<div class="spacer"><?php list ($y, $m, $d) = explode('-', $dob);
$dob = sprintf("%02d-%02d-%04d", $m, $d, $y);
echo "Explode dob: ".$dob ?></div>
</div>
</body>
</html>
Я не могу изменить тип столбца. У меня есть несколько значений в текстовом столбце, а некоторые из них - даты (в формате yyyy-mm-dd). Существует также другой столбец, который указывает, содержит ли строка значение даты или текстовое значение. – Ctroy
В этом случае вам необходимо переконфигурировать вашу базу данных. – Jacco
Вы говорите, что нет никакой проблемы с этой проблемой, не переделывая базу данных? Я просто хочу преобразовать текст формата yyyy-mm-dd в формат даты F j, Y. Например: 1820-05-20 по 20 мая 1820 года. – Ctroy