Это мой код:Возникли проблемы с помощью str_replace() в PHP
<?php
$date_db = "2017-10-12 12:00:00";
setlocale(LC_ALL, "de_DE.UTF-8");
$date_db = strtotime($date_db);
$date_db = strftime("%e. %B %Y, %A, %k:%M Uhr", $date_db);
$date_db = str_replace(":00","",$date_db);
echo $date_db;
?>
Выход: 12. Oktober 2017, Donnerstag, 12 Uhr
Это все хорошо до сих пор. Но иногда нет времени, только дата, например: $date_db = "2017-10-12 00:00:00";
.
Это будет выводить: 12. Oktober 2017, Donnerstag, 0 Uhr
.
В таком случае, я хочу удалить задние , 0 Uhr
.
Я думаю, что он должен работать, используя эту строку кода под другим кодом str_replace
: $date_db = str_replace(", 0 Uhr","",$date_db);
.
Всего код:
<?php
$date_db = "2017-10-12 00:00:00";
setlocale(LC_ALL, "de_DE.UTF-8");
$date_db = strtotime($date_db);
$date_db = strftime("%e. %B %Y, %A, %k:%M Uhr", $date_db);
$date_db = str_replace(":00","",$date_db);
$date_db = str_replace(", 0 Uhr","",$date_db);
echo $date_db;
?>
Это должно выход 12. Oktober 2017, Donnerstag
, но выход 12. Oktober 2017, Donnerstag, 0 Uhr
.
Что я делаю неправильно?
Работы. Но при использовании '$ date_db =" 2017-10-12 10:00:00 ";' output должно быть '12. Октябрь 2017, Доннерстаг, 10 часов, но это «12. Октябрь 2017, Доннерстаг, 1'. Почему так? – David
Да, я пропустил это. Вам нужно будет проверить, содержит ли строка «0 Uhr», а затем только два последних шага. – Jagrati
@DAVID проверить это сейчас, я отредактировал ответ. – Jagrati