Дата формате unix php

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

mktime

Returns the Unix timestamp corresponding to the arguments given. This timestamp is a long integer containing the number of seconds between the Unix Epoch (January 1 1970 00:00:00 GMT) and the time specified.

Any optional arguments omitted or null will be set to the current value according to the local date and time.

Please note that the ordering of arguments is in an odd order: month , day , year , and not in the more reasonable order of year , month , day .

Calling mktime() without arguments is not supported, and will result in an ArgumentCountError . time() can be used to get the current timestamp.

Parameters

The number of the hour relative to the start of the day determined by month , day and year . Negative values reference the hour before midnight of the day in question. Values greater than 23 reference the appropriate hour in the following day(s).

Читайте также:  Get window location in php

The number of the minute relative to the start of the hour . Negative values reference the minute in the previous hour. Values greater than 59 reference the appropriate minute in the following hour(s).

The number of seconds relative to the start of the minute . Negative values reference the second in the previous minute. Values greater than 59 reference the appropriate second in the following minute(s).

The number of the month relative to the end of the previous year. Values 1 to 12 reference the normal calendar months of the year in question. Values less than 1 (including negative values) reference the months in the previous year in reverse order, so 0 is December, -1 is November, etc. Values greater than 12 reference the appropriate month in the following year(s).

The number of the day relative to the end of the previous month. Values 1 to 28, 29, 30 or 31 (depending upon the month) reference the normal days in the relevant month. Values less than 1 (including negative values) reference the days in the previous month, so 0 is the last day of the previous month, -1 is the day before that, etc. Values greater than the number of days in the relevant month reference the appropriate day in the following month(s).

The number of the year, may be a two or four digit value, with values between 0-69 mapping to 2000-2069 and 70-100 to 1970-2000. On systems where time_t is a 32bit signed integer, as most common today, the valid range for year is somewhere between 1901 and 2038.

Return Values

mktime() returns the Unix timestamp of the arguments given.

Changelog

Version Description
8.0.0 hour is no longer optional. If you need a Unix timestamp, use time() .
8.0.0 minute , second , month , day and year are nullable now.

Examples

Example #1 mktime() basic example

// Set the default timezone to use.
date_default_timezone_set ( ‘UTC’ );

// Prints: July 1, 2000 is on a Saturday
echo «July 1, 2000 is on a » . date ( «l» , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));

// Prints something like: 2006-04-05T01:02:03+00:00
echo date ( ‘c’ , mktime ( 1 , 2 , 3 , 4 , 5 , 2006 ));
?>

Example #2 mktime() example

mktime() is useful for doing date arithmetic and validation, as it will automatically calculate the correct value for out-of-range input. For example, each of the following lines produces the string «Jan-01-1998».

echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 12 , 32 , 1997 ));
echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 13 , 1 , 1997 ));
echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 1 , 1 , 1998 ));
echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 1 , 1 , 98 ));
?>

Example #3 Last day of a month

The last day of any given month can be expressed as the «0» day of the next month, not the -1 day. Both of the following examples will produce the string «The last day in Feb 2000 is: 29».

$lastday = mktime ( 0 , 0 , 0 , 3 , 0 , 2000 );
echo strftime ( «Last day in Feb 2000 is: %d» , $lastday );
$lastday = mktime ( 0 , 0 , 0 , 4 , — 31 , 2000 );
echo strftime ( «Last day in Feb 2000 is: %d» , $lastday );
?>

See Also

  • The DateTimeImmutable class
  • checkdate() — Validate a Gregorian date
  • gmmktime() — Get Unix timestamp for a GMT date
  • date() — Format a Unix timestamp
  • time() — Return current Unix timestamp

User Contributed Notes

  • Date/Time Functions
    • 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); // 17.07.2023 00:00 // Понедельник предыдущий недели: $time = strtotime('previous week monday, 00:00'); echo date('d.m.Y H:i', $time); // 10.07.2023 00:00 // Понедельник следующей недели: $time = strtotime('next monday, 00:00'); echo date('d.m.Y H:i', $time); // 24.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); // 22.07.2023 09:17:11 /* или */ $time = strtotime('+10 seconds', time()); echo date('d.m.Y H:i:s', $time); // 22.07.2023 09:17:11

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

    $time = time() + 600; echo date('d.m.Y H:i:s', $time); // 22.07.2023 09:27:01 /* или */ $time = strtotime('+10 minutes', time()); echo date('d.m.Y H:i:s', $time); // 22.07.2023 09:27:01

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    $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-страниц и облегчить работу поисковым роботам.

    Источник

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