Как изменить этот 24-часовой формат времени за 12 часов - PullRequest
0 голосов
/ 13 февраля 2020

Привет, я столкнулся с проблемой при редактировании плагина. формат времени по умолчанию для этого плагина - 24 часа, но я хочу также преобразовать его в 12 часов с AM / PM. Вот код, который у меня есть

<div class="col-xs-4 col-sm-4 col-md-4">
    <div class="form-group qc-input-container">
        <select name="quickcab_form_departure_time_hour" id="quickcab_form_departure_time_hour" class="booking-input quickcab-select-input form-control" required>
            <option disabled selected><?php echo esc_html__('Hour', 'quickcab'); ?></option>
<?php
for ( $i = 1; $i <= 12; $i++ ) {
?>
            <option value="<?php echo sprintf('%02d', $i); ?>"><?php
                      echo sprintf('%02d', $i);
                    ?></option>
<?php
}
?>
        </select>
    </div>

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Для простоты вы можете просто добавить еще один l oop к 12, чтобы получить полные 24 часа, затем простое изменение в sprinf () даст вам AM и PM, как это

sprintf('%02dAM', $i);

а во втором л oop

sprintf('%02dPM', $i)

так твой код

<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group qc-input-container">
    <select name="quickcab_form_departure_time_hour" id="quickcab_form_departure_time_hour" class="booking-input quickcab-select-input form-control" required>
        <option disabled selected><?php echo esc_html__('Hour', 'quickcab'); ?></option>
<?php
// first 12 hours
for ( $i = 1; $i <= 12; $i++ ) {
?>
        <option value="<?php echo sprintf('%02dAM', $i); ?>"><?php echo sprintf('%02dAM', $i);?></option>
<?php
}
// second 12 hours
for ( $i = 1; $i <= 12; $i++ ) {
?>
        <option value="<?php echo sprintf('%02dPM', $i); ?>"><?php echo sprintf('%02dPM', $i);?></option>
<?php
}
?>

    </select>
</div>
0 голосов
/ 13 февраля 2020

Вы можете легко получить 12 часов, используя функцию date(). Я привожу пример для вас.

// suppose your time is 19:24:15
$date = '19:24:15'; 
echo date('h:i:s a', strtotime($date));

Вывод будет

07:24:15 pm

Вы также можете получить вывод, используя DateTime

$date = new DateTime('19:24:15');
echo $date->format('h:i:s a') ;

ч используется для 12 ди git время
i обозначает минуты
с секунды
a вернет am или pm (используйте в верхнем регистре для AM PM)

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