Php секунды в timestamp

Содержание
  1. strtotime
  2. Список параметров
  3. Возвращаемые значения
  4. Ошибки
  5. Список изменений
  6. Примеры
  7. Примечания
  8. Смотрите также
  9. time
  10. Список параметров
  11. Возвращаемые значения
  12. Примеры
  13. Примечания
  14. Смотрите также
  15. User Contributed Notes 1 note
  16. Операции с датами и временем Unixtime в PHP
  17. Получение временных меток и дат
  18. Число дня недели
  19. Числа месяца
  20. Текущий месяц:
  21. Преведущий месяц:
  22. Следующий месяц:
  23. Число дней в текущем месяце
  24. Порядковый номер недели
  25. Число дней в текущем году
  26. Текущий квартал
  27. Арифметические операции
  28. Прибавить к дате 10 секунд
  29. Прибавить к дате 10 минут
  30. Прибавить к дате 1 час
  31. Прибавить к дате 1 день
  32. Прибавить к дате неделю
  33. Прибавить к дате месяц
  34. Прибавить к дате год
  35. Сколько прошло
  36. Сколько прошло c 8:00
  37. Сколько прошло c понедельника этой недели
  38. Сколько прошло c начала года
  39. Сколько прошло c определённой даты
  40. Сколько остается
  41. Сколько остается до 23:00
  42. Сколько остается до конца недели
  43. Сколько остается до конца месяца
  44. Сколько остается до конца года
  45. Сколько остается до определенной даты
  46. Время между датами
  47. Количество часов между датами
  48. Количество дней между датами
  49. Количество месяцев между датами
  50. Комментарии 2
  51. Другие публикации

strtotime

Первым параметром функции должна быть строка с датой на английском языке, которая будет преобразована в метку времени Unix (количество секунд, прошедших с 1 января 1970 г. 00:00:00 UTC) относительно метки времени, переданной в now , или текущего времени, если аргумент now опущен.

Каждый параметр функции использует временную метку по умолчанию, пока она не указана в этом параметре напрямую. Будьте внимательны и не используйте различные временные метки в параметрах, если на то нет прямой необходимости. Обратите внимание на date_default_timezone_get() для задания временной зоны различными способами.

Список параметров

Строка даты/времени. Объяснение корректных форматов дано в Форматы даты и времени.

Читайте также:  Global php error reporting

Временная метка, используемая в качестве базы для вычисления относительных дат.

Возвращаемые значения

Возвращает временную метку в случае успеха, иначе возвращается FALSE . До версии PHP 5.1.0 в случае ошибки эта функция возвращала -1.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках временной зоны сгенерирует ошибку уровня E_NOTICE , и/или ошибку уровня E_STRICT или E_WARNING при использовании системных настроек или переменной окружения TZ . Смотрите также date_default_timezone_set()

Список изменений

Теперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE .

Примеры

Пример #1 Пример использования функции strtotime()

echo strtotime ( «now» ), «\n» ;
echo strtotime ( «10 September 2000» ), «\n» ;
echo strtotime ( «+1 day» ), «\n» ;
echo strtotime ( «+1 week» ), «\n» ;
echo strtotime ( «+1 week 2 days 4 hours 2 seconds» ), «\n» ;
echo strtotime ( «next Thursday» ), «\n» ;
echo strtotime ( «last Monday» ), «\n» ;
?>

Пример #2 Проверка ошибок

// до версии PHP 5.1.0 вместо false необходимо было сравнивать со значением -1
if (( $timestamp = strtotime ( $str )) === false ) echo «Строка ( $str ) недопустима» ;
> else echo » $str == » . date ( ‘l dS \o\f F Y h:i:s A’ , $timestamp );
>
?>

Примечания

Замечание:

Если количество лет указано двумя цифрами, то значения 00-69 будут считаться 2000-2069, а 70-99 — 1970-1999. Смотрите также замечания ниже о возможных различиях на 32-битных системах (допустимые даты заканчиваются 2038-01-19 03:14:07).

Замечание:

Корректным диапазоном временных меток обычно являются даты с 13 декабря 1901 20:45:54 UTC по 19 января 2038 03:14:07 UTC. (Эти даты соответствуют минимальному и максимальному значению 32-битового знакового целого).

До версии PHP 5.1.0, не все платформы поддерживают отрицательные метки времени, поэтому поддерживаемый диапазон дат может быть ограничен Эпохой Unix. Это означает, что даты ранее 1 января 1970 г. не будут работать в Windows, некоторых дистрибутивах Linux и нескольких других операционных системах.

В 64-битных версиях PHP корректный диапазон временных меток фактически бесконечен, так как 64 битов хватит для представления приблизительно 293 миллиарда лет в обоих направлениях.

Замечание:

Даты в формате m/d/y или d-m-y разрешают неоднозначность с помощью анализа разделителей их элементов: если разделителем является слеш (/), то дата интерпретируется в американском формате m/d/y, если же разделителем является дефис () или точка (.), то подразумевается использование европейского форматаd-m-y.

Чтобы избежать потенциальной неоднозначности, рекомендуется использовать даты в формате стандарта ISO 8601 (YYYY-MM-DD) либо пользоваться функцией DateTime::createFromFormat() там, где это возможно.

Замечание:

Не рекомендуется использовать эту функцию для математических операций. Целесообразней использовать DateTime::add() и DateTime::sub() начиная с PHP 5.3, или DateTime::modify() в PHP 5.2.

Смотрите также

  • Форматы даты и времени
  • DateTime::createFromFormat() — Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
  • checkdate() — Проверяет корректность даты по григорианскому календарю
  • strptime() — Разбирает строку даты/времени сгенерированную функцией strftime

Источник

time

Возвращает количество секунд, прошедших с начала эпохи Unix (1 января 1970 00:00:00 GMT) до текущего времени.

Замечание:

Метки времени Unix не содержат никакой информации относительно локального часового пояса. Рекомендуется использовать класс DateTimeImmutable для работы с информацией о дате и времени, чтобы избежать подводных камней, связанных с метками времени Unix.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает текущую метку системного времени.

Примеры

Пример #1 Пример использования time()

Результатом выполнения данного примера будет что-то подобное:

Примечания

Время начала запроса доступно в глобальной переменной $_SERVER[‘REQUEST_TIME’] .

Смотрите также

  • DateTimeImmutable
  • date() — Форматирует временную метку Unix
  • microtime() — Возвращает текущую метку времени Unix с микросекундами

User Contributed Notes 1 note

time() gives the timestamp of Greenwich Mean Time (GMT) which is defined as the official time for the whole earth. You get the local time by adding the time zone offset to this timestamp.

  • Функции даты и времени
    • checkdate
    • date_​add
    • date_​create_​from_​format
    • date_​create_​immutable_​from_​format
    • date_​create_​immutable
    • date_​create
    • date_​date_​set
    • date_​default_​timezone_​get
    • date_​default_​timezone_​set
    • date_​diff
    • date_​format
    • date_​get_​last_​errors
    • date_​interval_​create_​from_​date_​string
    • date_​interval_​format
    • date_​isodate_​set
    • date_​modify
    • date_​offset_​get
    • date_​parse_​from_​format
    • date_​parse
    • date_​sub
    • date_​sun_​info
    • date_​sunrise
    • date_​sunset
    • date_​time_​set
    • date_​timestamp_​get
    • date_​timestamp_​set
    • date_​timezone_​get
    • date_​timezone_​set
    • date
    • getdate
    • gettimeofday
    • gmdate
    • gmmktime
    • gmstrftime
    • idate
    • localtime
    • microtime
    • mktime
    • strftime
    • strptime
    • strtotime
    • time
    • timezone_​abbreviations_​list
    • timezone_​identifiers_​list
    • timezone_​location_​get
    • timezone_​name_​from_​abbr
    • timezone_​name_​get
    • timezone_​offset_​get
    • timezone_​open
    • timezone_​transitions_​get
    • timezone_​version_​get

    Источник

    Операции с датами и временем Unixtime в PHP

    Unix-время (англ. Unix time, также POSIX-время) — система описания моментов во времени. Определяется как количество секунд, прошедших с полуночи 1 января 1970 года.

    В PHP текущую метку времени возвращает функция time() и функция strtotime(), также с unix-метками работает класс DateTime.

    Получение временных меток и дат

    Число дня недели

    // Понедельник текущей недели: $time = strtotime('this week monday, 00:00'); echo date('d.m.Y H:i', $time); // 24.07.2023 00:00 // Понедельник предыдущий недели: $time = strtotime('previous week monday, 00:00'); echo date('d.m.Y H:i', $time); // 17.07.2023 00:00 // Понедельник следующей недели: $time = strtotime('next monday, 00:00'); echo date('d.m.Y H:i', $time); // 31.07.2023 00:00

    Числа месяца

    Текущий месяц:

    // Первый день текущего месяца: $time = strtotime('first day of this month 00:00'); echo date('d.m.Y H:i:s', $time); // 01.07.2023 00:00:00 // Последний день текущего месяца: $time = strtotime('last day of this month 23:59'); echo date('d.m.Y H:i:s', $time); // 31.07.2023 23:59:00

    Преведущий месяц:

    // Первый день предыдущего месяца: $time = strtotime('first day of previous month 00:00'); echo date('d.m.Y H:i:s', $time); // 01.06.2023 00:00:00 // Последний день предыдущего месяца: $time = strtotime('last day of previous month 23:59'); echo date('d.m.Y H:i:s', $time); // 30.06.2023 23:59:00

    Следующий месяц:

    // Первый день следующего месяца: $time = strtotime('first day of next month 00:00'); echo date('d.m.Y H:i:s', $time); // 01.08.2023 00:00:00 // Последний день следующего месяца: $time = strtotime('last day of next month 23:59'); echo date('d.m.Y H:i:s', $time); // 31.08.2023 23:59:00

    Число дней в текущем месяце

    Порядковый номер недели

    Число дней в текущем году

    echo date('L') ? 366 : 365; // 365

    Текущий квартал

    echo intval((date('n') + 2) / 3); // 3

    Арифметические операции

    Для сложения и вычитания времени можно применить функцию strtotime() или просто работать с секундами:

    1 минута 60 секунд 10 минут 600 секунд
    1 час 3600 секунд 10 часов 36000 секунд
    1 день 86400 секунд 2 дня 172800 секунд
    1 неделя 604800 секунд 2 недели 1209600 секунд
    1 месяц 2629743 секунд 2 месяца 5259486 секунд
    1 год 31556926 секунд 2 года 63072000 секунд

    Прибавить к дате 10 секунд

    $time = time() + 10; echo date('d.m.Y H:i:s', $time); // 25.07.2023 21:01:59 /* или */ $time = strtotime('+10 seconds', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2023 21:01:59

    Прибавить к дате 10 минут

    $time = time() + 600; echo date('d.m.Y H:i:s', $time); // 25.07.2023 21:11:49 /* или */ $time = strtotime('+10 minutes', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2023 21:11:49

    Прибавить к дате 1 час

    $time = time() + 3600; echo date('d.m.Y H:i:s', $time); // 25.07.2023 22:01:49 /* или */ $time = strtotime('+1 hours', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2023 22:01:49

    Прибавить к дате 1 день

    $time = time() + 86400; echo date('d.m.Y H:i:s', $time); // 26.07.2023 21:01:49 /* или */ $time = strtotime('+1 days', time()); echo date('d.m.Y H:i:s', $time); // 26.07.2023 21:01:49

    Прибавить к дате неделю

    $time = strtotime('+1 week', time()); echo date('d.m.Y H:i:s', $time); // 01.08.2023 21:01:49

    Прибавить к дате месяц

    $time = strtotime('+1 month', time()); echo date('d.m.Y H:i:s', $time); // 25.08.2023 21:01:49

    Прибавить к дате год

    $time = strtotime('+1 year', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2024 21:01:49

    Сколько прошло

    Сколько прошло c 8:00

    $date = date('d.m.Y 08:00'); $diff = time() - strtotime($date); echo round($diff / 3600, 1); // 13 часов

    Сколько прошло c понедельника этой недели

    $time = strtotime('monday'); $diff = time() - $time; echo round($diff / 3600); // 45 часов echo round($diff / 86400, 1); // 1,9 дней

    *Дни недели: monday, tuesday, wednesday, thursday, friday, saturday, sunday.

    Сколько прошло c начала года

    $date = date('01.01.Y 00:00:00'); $diff = time() - strtotime($date); echo intval($diff / 86400); // 205 дней // или echo date('z'); // 205

    Сколько прошло c определённой даты

    $date = '10.08.2016'; $diff = time() - strtotime($date); echo round($diff / 3600); // 60981 часов echo round($diff / 86400); // 2541 дней

    Сколько остается

    Сколько остается до 23:00

    $time = strtotime(date('d.m.Y 23:00')); $diff = $time - time(); echo round($diff / 3600, 1); // 2 часов

    Сколько остается до конца недели

    $date = strtotime('next sunday, 23:59'); $diff = $date - time(); echo round($diff / 3600); // 123 часов echo round($diff / 86400); // 5 дней

    *Дни недели: monday, tuesday, wednesday, thursday, friday, saturday, sunday.

    Сколько остается до конца месяца

    $time = strtotime(date('Y-m-t 23:59')); $diff = $time - time(); echo round($diff / 3600); // 147 часов echo round($diff / 86400); // 6 дней

    Сколько остается до конца года

    $time = strtotime(date('Y-12-31 23:59')); $diff = $time - time(); echo round($diff / 3600); // 3819 часов echo round($diff / 86400); // 159 дней

    Сколько остается до определенной даты

    $date = '10.08.2025'; $diff = strtotime($date) - time(); echo round($diff / 3600); // 17907 часов echo round($diff / 86400); // 746 дней

    Время между датами

    Количество часов между датами

    $date_1 = '01.01.2021 10:00'; $date_2 = '10.03.2021 18:00'; $seconds = abs(strtotime($date_1) - strtotime($date_2)); echo round($seconds / 3600); // 1640

    Количество дней между датами

    $date_1 = '01.01.2021 10:00'; $date_2 = '10.03.2021 18:00'; $seconds = abs(strtotime($date_1) - strtotime($date_2)); echo round($seconds / 86400, 1); // 68,3

    Количество месяцев между датами

    $date_1 = strtotime('01.01.2021 10:00'); $date_2 = strtotime('10.03.2021 18:00'); $months = 0; while (strtotime('+1 month', $date_1) < $date_2) < $months++; $date_1 = strtotime('+1 month', $date_1); >$days = round(($date_2 - $date_1) / (60 * 60 * 24)); echo $months . ' месяца, ' . $days . ' дней'; // 2 месяца, 9 дней

    Комментарии 2

    Специально не поленился и авторизовался, чтобы выразить благодарность авторам сайта, молодцы ребята! Неоднократно на вашем сайте получал именно нужную инфу, у вас все примеры разжеваны, с разными вариантами, не то что где нибудь найдешь вроде то, что тебе нужно и потом полдня думаешь, как под свою задачу это допилить. В данном случае мне нужно было кол-во дней между датами, при чем число должно быть дробным — то есть 3.6 дня, например. У вас нашел, скопировал, и вставил (только имена переменных поменял), все. Именно то, что нужно. И так бывало уже не раз. В общем, спасибо, и обязательно продолжайте в том же духе!

    Авторизуйтесь, чтобы добавить комментарий.

    Другие публикации

    Как настроить Last-Modified

    Заголовок Last-Modified помогает оптимизировать загрузку web-страниц и облегчить работу поисковым роботам.

    Источник

Оцените статью