Php перевод unix timestamp

Содержание
  1. Операции с датами и временем Unixtime в PHP
  2. Получение временных меток и дат
  3. Число дня недели
  4. Числа месяца
  5. Текущий месяц:
  6. Преведущий месяц:
  7. Следующий месяц:
  8. Число дней в текущем месяце
  9. Порядковый номер недели
  10. Число дней в текущем году
  11. Текущий квартал
  12. Арифметические операции
  13. Прибавить к дате 10 секунд
  14. Прибавить к дате 10 минут
  15. Прибавить к дате 1 час
  16. Прибавить к дате 1 день
  17. Прибавить к дате неделю
  18. Прибавить к дате месяц
  19. Прибавить к дате год
  20. Сколько прошло
  21. Сколько прошло c 8:00
  22. Сколько прошло c понедельника этой недели
  23. Сколько прошло c начала года
  24. Сколько прошло c определённой даты
  25. Сколько остается
  26. Сколько остается до 23:00
  27. Сколько остается до конца недели
  28. Сколько остается до конца месяца
  29. Сколько остается до конца года
  30. Сколько остается до определенной даты
  31. Время между датами
  32. Количество часов между датами
  33. Количество дней между датами
  34. Количество месяцев между датами
  35. Комментарии 2
  36. Другие публикации
  37. PHP: Convert a date into a Unix timestamp.
  38. strtotime
  39. Using the DateTime object.
  40. Convert Unix Timestamp To Date In PHP (Simple Examples)
  41. TLDR – QUICK SLIDES
  42. TABLE OF CONTENTS
  43. PHP UNIX TIMESTAMP TO DATE TIME
  44. EXAMPLE 1) PREDEFINED DATE FORMATS
  45. EXAMPLE 2) CUSTOM DATE FORMATS
  46. EXAMPLE 3) SETTING THE TIMEZONE
  47. DOWNLOAD & NOTES
  48. SUPPORT
  49. EXAMPLE CODE DOWNLOAD
  50. EXTRA BITS & LINKS
  51. LINKS & REFERENCES
  52. INFOGRAPHIC CHEAT SHEET
  53. THE END
  54. Leave a Comment Cancel Reply
  55. Search
  56. Breakthrough Javascript
  57. Socials
  58. About Me

Операции с датами и временем 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() или просто работать с секундами:

Читайте также:  Php вывод элементов странице
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); // 20.07.2023 12:33:17 /* или */ $time = strtotime('+10 seconds', time()); echo date('d.m.Y H:i:s', $time); // 20.07.2023 12:33:17

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

$time = time() + 600; echo date('d.m.Y H:i:s', $time); // 20.07.2023 12:43:07 /* или */ $time = strtotime('+10 minutes', time()); echo date('d.m.Y H:i:s', $time); // 20.07.2023 12:43:07

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

$time = time() + 3600; echo date('d.m.Y H:i:s', $time); // 20.07.2023 13:33:07 /* или */ $time = strtotime('+1 hours', time()); echo date('d.m.Y H:i:s', $time); // 20.07.2023 13:33:07

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

$time = time() + 86400; echo date('d.m.Y H:i:s', $time); // 21.07.2023 12:33:07 /* или */ $time = strtotime('+1 days', time()); echo date('d.m.Y H:i:s', $time); // 21.07.2023 12:33:07

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

$time = strtotime('+1 week', time()); echo date('d.m.Y H:i:s', $time); // 27.07.2023 12:33:07

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

$time = strtotime('+1 month', time()); echo date('d.m.Y H:i:s', $time); // 20.08.2023 12:33:07

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

$time = strtotime('+1 year', time()); echo date('d.m.Y H:i:s', $time); // 20.07.2024 12:33:07

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Php указать тип строка

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

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

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

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

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

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

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

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

$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 дня, например. У вас нашел, скопировал, и вставил (только имена переменных поменял), все. Именно то, что нужно. И так бывало уже не раз. В общем, спасибо, и обязательно продолжайте в том же духе!

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

Читайте также:  Битрикс визуальный редактор php

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

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

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

Источник

PHP: Convert a date into a Unix timestamp.

This is a short PHP guide on how to convert a regular date string into a Unix timestamp. As you probably already know, “Unix Time” is the number of seconds that have passed since the 1st of January, 1970.

For the sake of this example, let’s say that we want to convert 2019-04-01 10:32:00 into an Epoch timestamp.

strtotime

To do this in PHP, we can use the strtotime function like so:

//Our date string. The format is Y-m-d H:i:s $date = '2019-04-01 10:32:00'; //Convert it into a Unix timestamp using strtotime. $timestamp = strtotime($date); //Print it out. echo $timestamp;

If you run the example above, you will see that 1554107520 is printed out onto the page. This is because 1554107520 passed between the Epoch time and 10:32AM on the 1st of April, 2019.

Note that the strtotime function will return a boolean FALSE value if the conversion fails.

Using the DateTime object.

If you prefer using OOP and the DateTime object, then you can do the following:

//Our date string. $date = '2019-04-01 10:32:00'; //Create a new DateTime object using the date string above. $dateTime = new DateTime($date); //Format it into a Unix timestamp. $timestamp = $dateTime->format('U'); //Print it out. echo $timestamp;

As you can see, it’s pretty similar to the strtotime approach. In the case above, we simply converted the date by passing the “U” format character into the DateTime “format” method.

Note that if you leave out the exact time, PHP will default to midnight:

//Create a DateTime object. $dateTime = new DateTime('2019-04-01'); //Format it into a Unix timestamp. echo $dateTime->format('U');

The above example will output “1554069600”, which is the Unix timestamp for midnight on the 1st of April, 2019.

By the way, in order to get the current timestamp, you can simply call PHP’s time function like so:

That’s it! Hopefully, you found this guide useful!

Источник

Convert Unix Timestamp To Date In PHP (Simple Examples)

Welcome to a quick tutorial on how to format a Unix Timestamp to a readable date and time in PHP. Need to get a “human-friendly” date from a Unix Timestamp?

  • To the ISO 8601 format – $formatted = date(DateTimeInterface::ATOM, $UNIX);
  • To MySQL date format – $formatted = date(«Y-m-d H:i:s», $UNIX);
  • Various other custom formats – $formatted = date(«D, j F Y h:i:s A», $UNIX);

That covers the basics, but read on for more examples!

TLDR – QUICK SLIDES

Format Unix Timestamp To Date Time In PHP

TABLE OF CONTENTS

PHP UNIX TIMESTAMP TO DATE TIME

All right, let us now get into the examples of formatting a Unix Timestamp in PHP.

EXAMPLE 1) PREDEFINED DATE FORMATS

"; // (C) COOKIE $cookie = date(DateTimeInterface::COOKIE, $unix); echo $cookie . "
"; // (D) EMAIL (RFC 2822) $mail = date(DateTimeInterface::RFC2822, $unix); echo $mail . "
"; // (E) HTTP 1.1 (RFC 7231) $http = date(DateTimeInterface::RFC7231, $unix); echo $http . "
";

As in the introduction, the almighty date() function is pretty much all we need. PHP also comes with a list of predefined Internation standard date-time formats. If you need a full list of the predefined formats, I will leave a link to the PHP manual in the extras section below.

EXAMPLE 2) CUSTOM DATE FORMATS

"; // (C) CUSTOM DATE FORMAT $customA = date("d/m/y H:i:s", $unix); echo $customA . "
"; $customB = date("D, j F Y h:i:s A", $unix); echo $customB . "
";

Apart from taking in predefined formats, we can also fully customize our own date-time formats. There is a long list of “date-time parts” we can use, but I will not copy here… Again, I shall leave a link to the PHP manual below.

EXAMPLE 3) SETTING THE TIMEZONE

"; // (C) SET TIMEZONE $tzB = new DateTime(); $tzB->setTimestamp($unix); $tzB->setTimezone(new DateTimeZone("America/New_York")); echo $tzB->format("Y-m-d H:i:s e") . "
"; $tzB->setTimezone(new DateTimeZone("Asia/Tokyo")); echo $tzB->format("Y-m-d H:i:s e") . "
";

Finally, setting the timezone is a little confusing. By default, the date() function will assume UTC+0 when parsing a Unix Timestamp. To set/change the timezone, we have to do it the “long-winded” way.

  • Create a $tz = new DateTime() object.
  • Then set it to the Unix Timestamp – $tz->setTimestamp($UNIX) .
  • At this point, we can do a $formatted = $tz->format(«FORMAT») to create a date string. But this defaults to UTC+0 again.
  • To change the timezone, we simply do a $tz->setTimezone(TIMEZONE) .

I shall leave a Wikipedia link below to the full list of international timezones.

DOWNLOAD & NOTES

Here is the download link to the example code, so you don’t have to copy-paste everything.

SUPPORT

600+ free tutorials & projects on Code Boxx and still growing. I insist on not turning Code Boxx into a «paid scripts and courses» business, so every little bit of support helps.

EXAMPLE CODE DOWNLOAD

Click here for the source code on GitHub gist, just click on “download zip” or do a git clone. I have released it under the MIT license, so feel free to build on top of it or use it in your own project.

That’s all for the tutorial, and here is a small section on some extras and links that may be useful to you.

INFOGRAPHIC CHEAT SHEET

THE END

Thank you for reading, and we have come to the end. I hope that it has helped you to better understand, and if you want to share anything with this guide, please feel free to comment below. Good luck and happy coding!

Leave a Comment Cancel Reply

Breakthrough Javascript

Take pictures with the webcam, voice commands, video calls, GPS, NFC. Yes, all possible with Javascript — Check out Breakthrough Javascript!

Socials

About Me

W.S. Toh is a senior web developer and SEO practitioner with over 20 years of experience. Graduated from the University of London. When not secretly being an evil tech ninja, he enjoys photography and working on DIY projects.

Code Boxx participates in the eBay Partner Network, an affiliate program designed for sites to earn commission fees by linking to ebay.com. We also participate in affiliate programs with Bluehost, ShareASale, Clickbank, and other sites. We are compensated for referring traffic.

Источник

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