Создать переменную в PHP, равную текущему времени минус один час

#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);