Как получить AM / PM из даты и времени в PHP - PullRequest
62 голосов
/ 04 августа 2010

У меня есть дата и время в переменной.Мой формат 08/04/2010 22:15:00.Я хочу отобразить это как 10.15 PM.Как это сделать в PHP?

Заранее спасибо

Ответы [ 12 ]

131 голосов
/ 04 августа 2010

Вам необходимо преобразовать его в метку времени UNIX (используя strtotime ), а затем обратно в нужный вам формат, используя функцию date .

Например:

$currentDateTime = '08/04/2010 22:15:00';
$newDateTime = date('h:i A', strtotime($currentDateTime));
20 голосов
/ 04 августа 2010
$dateString = '08/04/2010 22:15:00';
$dateObject = new DateTime($dateString);
echo $dateObject->format('h:i A');
19 голосов
/ 04 августа 2010

Используйте strtotime(), чтобы сделать дату меткой времени UNIX.

Для вывода проверьте различные параметры date () .

$timestamp = strtotime("08/04/2010 22:15:00");
date("h.i A", $timestamp);
9 голосов
/ 22 июня 2015
<?php 
$dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata')); 
echo $dateTime->format("d/m/y  H:i A"); 
?>

Вы можете использовать это для отображения даты, подобной этой

22/06/15 10:46 AM
8 голосов
/ 04 августа 2010

Как это:

$date = '08/04/2010 22:15:00';
echo date('h:i A', strtotime($date));

Результат:

10:15 PM

Подробнее:

7 голосов
/ 28 ноября 2012

для гибкости с различными форматами, используйте:

$dt = DateTime::createFromFormat('m/d/Y H:i:s', '08/04/2010 22:15:00');
echo $dt->format('g:i A')

Обратитесь к php manual за дополнительными параметрами формата.

5 голосов
/ 16 июля 2013

PHP код:

date_default_timezone_set('Asia/Kolkata');
$currentDateTime=date('m/d/Y H:i:s');
$newDateTime = date('h:i A', strtotime($currentDateTime));
echo $newDateTime; 

Выход: 05:03

2 голосов
/ 28 ноября 2017
$currentDateTime = $row['date'];
echo $newDateTime = date('l jS \of F Y h:i:s A', strtotime($currentDateTime));
1 голос
/ 12 января 2018

Прекрасный ответ для AM / PM в режиме реального времени

<?php echo date('h:i A', time())?>
1 голос
/ 18 ноября 2012

Для (PHP> = 5.2.0):

Вы можете использовать класс DateTime. Однако вам может потребоваться изменить формат даты. Не пробовал свой. Следующий формат даты будет работать наверняка: YYYY-MM-DD HH-MM-SS

$date = new DateTime("2010-04-08 22:15:00");
echo $date->format("g"). '.' .$date->format("i"). ' ' .$date->format("A");

//output
//10.15 PM

Однако, по моему мнению, использование . в качестве разделителя для 10.15 не рекомендуется, поскольку ваши пользователи могут быть смущены, будь то десятичное число или формат времени. Наиболее распространенным способом является использование 10:15 PM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...