Я нашел сотни вопросов и ответов по темам, ПОДОБНЫМ этому, на SO, однако ни один из них не соответствует моим потребностям конкретно и я в тупике.
У меня есть переменная в формате y-m-d и мне нужно посмотреть, была ли она создана в предыдущий календарный день(не 24 часа назад, а в предыдущий календарный день).
т.е. $tDate = '12 -05 -2';
Если объект создан 2 мая 2012 г. в 11 :59 вечера (сохраненное время )Мне нужно сравнение с 3 мая 2012 г. 12 :01:00 (текущее время )равно true.
Если объект создан 2 мая 2012 г. в 11 :51pm (сохраненное время )Мне нужно сравнение с 2 мая 2012 г. 11 :58pm (текущее время )для равного false.
Я знаю, что если бы они были сохранены в базе данных MySQL и извлечены из поля, MySQL мог бы легко это понять. Но в данном случае это решение не вариант.
Это сравнение должно быть сделано полностью в php.
Я знаю, что это эксцентричный вопрос, но эй, это то, в чем преуспевают гуру из StackOverflow! С нетерпением жду ответов!
ОБНОВЛЕНИЕ
Выяснилось, что:
$dTest = '12-05-02';
$dTest = explode('-',$dTest);
$dTest2 = date('y-m-d');
$dTest2 = explode('-',$dTest2);
if ($dTest[2]<$dTest2[2]){
echo '<br />Posted Yesterday<br />';
} else {
echo '<br />Posted Today<br />';
}
Есть ли более эффективное решение? Кажется, работает, но я полагаю, что должно быть более оптимальное/элегантное решение?
РЕШЕНО
$tHolder = '12-05-12';
$voteDate = date("y-m-d", strtotime($tHolder));
$today = date("y-m-d", strtotime("today"));
if ($voteDate === $today)
{
echo "this was today's post";
}
elseif ($voteDate < $today)
{
echo "this was previous to today";
}