#php
#php
Вопрос:
В PHP, как я мог бы создать переменную с именем $livetime
, которая равна текущему времени минус 1 час?
Комментарии:
1. Вы ищете определенный формат?
2. Нет … это значение не будет повторено, просто используется в операторе IF.
Ответ №1:
Другой способ — без всякой математики и, на мой взгляд, читается лучше.
$hour_ago = strtotime('-1 hour');
Ответ №2:
Если вы ищете, как отобразить время в удобочитаемом формате, эти примеры помогут:
$livetime = date('H:i:s', time() - 3600); // 16:00:00
$livetime = date('g:iA ', time() - 3600); // 4:00PM
Ответ №3:
$livetime = time() - 3600; // 3600 seconds in 1 hour : 60 seconds (1 min) * 60 (minutes in hour)
Смотрите функцию PHP time для получения дополнительной информации.
Комментарии:
1. Микрооптимизация,
time() - 3600
. Умножение обходится дорого.2. 🙂 Я написал 60 * 60, потому что, я думаю, это имело бы больше смысла для OP. Вероятно, мне лучше перенести это в комментарий.
Ответ №4:
преобразуйте вашу дату в strtotime, а затем вычтите из нее один час
$now = date('Y-m-d H:i:s');
$time = strtotime($now);
$time = $time - (60*60); //one hour
$beforeOneHour = date("Y-m-d H:i:s", $time);
Ответ №5:
Вы могли бы использовать функцию date_create вместе с функцией date_sub, как я показал здесь ниже: —
$currentTime = date_create(now());
$modifyTime = date_sub($currentTime,date_interval_create_from_date_string("1 hour"));
$liveTime = $modifyTime->format('Y-m-d H:i:s');
Ответ №6:
Предполагая, что временная метка в порядке, вы можете использовать time
функцию следующим образом
<?php
$livetime = time() - 60 * 60;
Ответ №7:
Текущее время равно time()
(текущее время указано в секундах после эпохи Unix).
Таким образом, чтобы вычислить то, что вам нужно, вам нужно выполнить вычисление: time() - 60*60
(текущее время в секундах минус 60 минут, умноженное на 60 секунд).
$time_you_need = time() - 60*60;
Ответ №8:
Сначала преобразуйте часы в секунды ( 3600
), затем используйте следующее:
$your_date = date('F jS, Y',time() - 3600);