Vladimir Kheifets пишет:Соц Сеть пишет:Добрый день ребята , скажите пожалуйста есть ли вариант сразу получить unix timestamp от таких строк "21 янв в 21:19" , или надо разбить на части и каждый по своему получить ?
Добрый день!
Появилаь новая идея
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
function languageDateTime($language,$str){
$formatter = new IntlDateFormatter( $language, IntlDateFormatter::LONG, IntlDateFormatter::NONE);
$datetime = $formatter->parse($str);
}
Результаты тестов на русском, немецком и французском.
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
$str = '21 янв 2018 в 20:19';
$F="j F Y H:i";
$datetime = LanguageDateTime("ru",$str)."<br>";
echo "Language RU: ".$str."<br>";
echo date($F,$datetime)."<hr>"; $str = '21 января 2018 в 20:19';
$F="j F Y H:i";
$datetime = LanguageDateTime("ru",$str)."<br>";
echo "Language RU: ".$str."<br>";
echo date($F,$datetime)."<hr>"; $str = '29 июля 2018';
$datetime = LanguageDateTime("ru",$str)."<br>";
echo "Language RU: ".$str."<br>";
echo date($F,$datetime)."<hr>"; $str = '8 Mдrz 2018';
$datetime = LanguageDateTime("de",$str)."<br>";
echo "Language DE: ".$str."<br>";
echo date($F,$datetime)."<hr>"; $str = '21 Janvier 2018 18:00';
$datetime = LanguageDateTime("fr",$str)."<br>";
echo "Language FR: ".$str."<br>";
echo date($F,$datetime)."<hr>"; /*
Language RU: 21 янв 2018 в 20:19
21 January 2018 20:19
//----------------------------------
Language RU: 21 января 2018 в 20:19
21 January 2018 20:19
//----------------------------------
Language RU: 29 июля 2018
29 July 2018 00:00
//----------------------------------
Language DE: 8 Mдrz 2018
8 March 2018 00:00
//----------------------------------
Language FR: 21 Janvier 2018 18:00
21 January 2018 18:00
//----------------------------------
*/
p.s. К сожалению, мне удалось добиться от
IntlDateFormatter, чтобы парсил дату со временем