2016-09-20 3 views
-1

Это мой код:PHP date(); удалить чтение пространства на час

<?php 
$date = "2016-03-08 09:09:00"; 

setlocale(LC_ALL, "de_DE.UTF-8"); 

$date = strtotime($date); 

echo strftime("%e. %B %Y, %A, %H:%M Uhr", $date); 
?> 

Выход заключается в следующем: 8. März 2016, Dienstag, 09:09 Uhr

Но я хочу, чтобы удалили ведущее место по часу. Мне нужно 9:09 Uhr вместо 09:09 Uhr.

Кто-нибудь знает, как это сделать?

+1

Вы прочитали документацию ['strftime()'] (http://php.net/manual/en/function.strftime.php)? – axiac

+0

Неужели я действительно спрошу, не прочитал ли я документацию? – David

+0

Вы будете удивлены, но не прочитаете документацию, прежде чем спрашивать [so], по-видимому, больше нормы, чем исключения. Не помогает ли вам '% k'? – axiac

ответ

-1

Try:

setlocale(LC_TIME, 'de_DE', 'deu_deu'); 
+0

Обновлен мой вопрос. Вы можете мне помочь? – David

+0

Попробуйте echo strftime ("% e.% B% Y,% A,% I:% M Uhr", $ date); – Komal

+0

Без изменений, все тот же. – David

0

Solution является следующий код:

<?php 
$date = "2016-03-08 8:09:00"; 

setlocale(LC_ALL, "de_DE.UTF-8"); 

$date = strtotime($date); 

$date = strftime("%e. %B %Y, %A, %k:%M Uhr", $date); 

$date = str_replace(":00","",$date); 

echo $date; 
?> 

Выход: 8. März 2016, Dienstag, 8:09 Uhr

Что он делает:

  • Добавляет имя в день недели автоматически
  • Название месяца на немецком языке (вы можете выбрать любой другой поддерживаемый)
  • Название дня недели на немецком языке (вы можете выбрать любой другой поддерживаемый)
  • Я могу добавить строку в нем (например, «Uhr», это немецкий для часов)
  • Это в течение 24 часов дня (например, 20 часов в 20 часов, а не 8 часов)
  • :00, если не минут, получает удален (например, 8 часов, вместо 8:00 часов)

PS Большое спасибо @axiac.

Смежные вопросы