Преобразование французской строки даты на английский язык для сравнения

armadadrive спросил: 03 февраля 2018 в 10:11 в: php

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

На английском языке это довольно просто, когда я сравнивал пользователя -строчный start_date с таким системным временем:

$postStartDate = strtotime(get_field('start_date'));
$currDate = strtotime(date('F j, Y'));if ($postStartDate > $currDate):
  // Show the post
endif;

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

Однако, когда я пытаюсь запустить что-то похожее на французском языке, это терпит неудачу, и это связано с тем, что strtotime() ожидает английский. Справедливая. Итак, я немного читал о setlocale() и strftime() и в итоге пытался проделать такие вещи:

$frenchDate = strftime("%d %b %Y", strtotime(get_field('start_date')));

Конечно, это также не удается потому что strtotime() не может понять "Janvier" в сравнении с "January" и т. д., поэтому он сразу же не запускается. strftime() просто выплевывает 1 января 1970 г. в этом случае.

Это не французская серверная среда, а просто двуязычный сайт.

Что лучше способ сравнить французскую строку даты с текущей системной датой?

0 ответов