php преобразовать time в дату

Дата и время в PHP

В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д.

PHP-функции для работы с датой и временем

PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:

time() Возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX). getdate( ) Считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:

secondsСекунды (0-59)
minutesМинуты (0-59)
hoursЧасы (0-23)
mdayДень месяца (1-31)
wdayДень недели (0-6), начиная с воскресенья
monМесяц (1-12)
yearГод
ydayДень года (0-365)
weekdayНазвание дня недели (например, Friday)
monthНазвание месяца (например, January)
0Абсолютное время

Пример 1

РЕЗУЛЬТАТ ПРИМЕРА 1:

seconds = 22
minutes = 35
hours = 21
mday = 19
wday = 0
mon = 9
year = 2021
yday = 261
weekday = Sunday
month = September
0 = 1632076522
Сегодня: 19.9.2021

date() Форматирование даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. Строка формата может содержать следующие коды:

Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту «\». Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку «n», то надо ввести «\\n», поскольку «\n» является символом новой строки.

Пример 2

РЕЗУЛЬТАТ ПРИМЕРА 2:

Сегодня 19.09.21 21:35

часы
минуты
секунды
месяц
день месяца
год

Пример 3

РЕЗУЛЬТАТ ПРИМЕРА 3:

22 January 1971, at 1.30 pm, Friday

Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.

Пример 4

РЕЗУЛЬТАТ ПРИМЕРА 4:

Sunday 19 September 2021 21:35
Сегодня Sunday 19 September 2021 21:35:22
MSK

Источник

Работа с датой и временем в PHP

Среди разнообразных задач программирования, различные манипуляции со значениями даты и времени встречаются достаточно часто. Редкая автоматизированная система, база данных может обойтись без сохранения информации о времени того или иного процесса. Помимо простейшего добавления даты в запись базы данных или отображения этой даты, встречаются множество задач вывода этих дат в различном виде, проверки соответствия текущего времени с заданным таймером, вычисление срока между двумя датами и многое другое.

Для удобства работы с датами каждый язык программирования имеет свои специальные типы данных для хранения значения даты и времени. Чаще всего это числовое значение, либо целое, либо с плавающей точкой.

В PHP работа с датой чаще всего сталкивается с UNIX TIMESTAMP. Здесь время хранится целым числом. Исчисление времени начинается с 1 января 1970 года. Поэтому, например, дата и время 11.12.2014 19:40:00, будет представлено числом 1418316000. Эта цифра показывает, сколько секунд прошло с нулевой даты 1 января 1970 года, названой Эпохой Unix.

Пример php-страницы, предоставляющий возможности преобразования данных представлен на сайте в разделе программ программой «Преобразование формата даты и времени». Здесь можно сформировать нужную дату в формат UNIX TIMESTAMP, а так же привести этот формат в стандартный, понятный человеку вид.

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

Для получения текущего времени сервера используется функция

которая как раз вернет значение в формате unix timestamp.

На первый взгляд не очень удобный формат для человека, но, как известно, чем проще представление данных, тем быстрее выполняется обработка этих значений компьютером. Кроме того, хранение числа в базе данных намного экономичнее, чем какой-либо специальный формат. Так же, PHP работает со временем одинаково и на Unix и на Windows платформе, что обеспечивает возможность использовать код на любой из этих платформ.

Преобразование формата даты и времени в PHP

Простейший механизм, позволяющий преобразовать числовое значение даты на более понятные значения, предоставляется функцией:

Она возвращает ассоциативный массив, содержащий информацию о дате. Если параметр timestamp не указан, будут возвращены сведения о текущем времени. Этот массив содержит следующие значения:

secondsсекунды (0-59)
minutesминуты (0-59)
hoursчасы (0-23)
mdayдень месяца (1-31)
wdayдень недели (0-6), начиная с воскресенья
monмесяц (1-12)
yearгод
ydayдень года (0-365)
weekdayназвание дня недели (например, Monday)
monthназвание месяца (например, January)
0количество секунд, прошедших с начала Эпохи Unix

Полученный массив, позволяет вывести значения нужном виде:

Так же для преобразования формата даты и времени можно воспользоваться функцией:

Формат задается следующими значениями:

Как видно из списка, с помощью этой функции можно получить очень много полезных данных о дате. Например:

Другие символы, входящие в шаблон, будут выведены в строке как есть. Если же потребуется ввести символ, который используется в функции как код формата, перед ними вставляется символ «\». Для значения «\n» (символ перехода на новую строку), следует указать «\\n». Таким образом, можно делать вывод целого сообщения, содержащего сведения о дате и времени:

Преобразование даты и времени в формат timestamp

Для обратного преобразования даты из стандартного формата в числовое значение timestamp применяется функция:

Функция mktime() возвращает значение времени Unix, соответствующую дате и времени, заданным аргументами. Например:

Следует внимательно относится к порядку аргументов функции: часы, минуты, секунды, месяц, день, год.

Кроме простого формирования значения даты в timestamp, функцию mktime() можно использовать для арифметически вычисления с датами. Для этого просто можно ввести необходимые аргументы. Например, если указать 14 месяц, то в итоговом значении, месяц будет 2-й, а значение года увеличится на единицу:

Аналогично можно поступать и с другими параметрами.

Проверка корректности даты в PHP

При работе с датами, особенно при формировании даты предложенной выше функцией mktime() необходимо учитывать корректность вводимой даты. Для этого в PHP используется функция:

Возвращает true если дата, заданная аргументами, является правильной; иначе возвращает false. Дата считается правильной, если:

— год в диапазоне от 1 до 32767;

— месяц в диапазоне от 1 до 12;

— день для заданного месяца с учетом високосного года указаны правильно.

Источник

Как переводить дату в метку времени в php примеры код скрипт

Как из даты вернуть временную метку, как преобразовать дату во временную метку, способы перегнать дату в timestamp!

Все способы вернуть из даты временную метку

Как преобразовать дату в метку времени! Мы будем сегодня пользоваться функцией strtotime.

Как-то затрагивали тему времени в php и сегодня нам потребовалось дату конвертировать обратно в метку времени(timestamp)!

У есть дата такого формата… запените эту дату вместе с часами и минутами.

Как преобразовать дату во временную метку с помощью strtotime

Результат возврата из даты временную метку:

2019-02-05 11:38 И теперь в качестве функции, которая вернет нам метку времени будем использовать mktime, но сперва нам потребуется, для этой функции, проделать пару манипуляций.

Разобьем с помощью explode в массив:

и сталось вернуть временную метку из даты:

Пропускаем через класс DateTime + присваиваем переменной:

format возвращаем строку даты, преобразованной согласно переданному формату и выводим:

Пропускаем через класс DateTime + присваиваем переменной:

getTimestamp получим метку времени в стиле Unix

Функция date_create создает объект ‘дата’, с которым в дальнейшем можно выполнять некоторые операции.

Пропускаем через функцию date_create + присваиваем переменной:

date_format строку, отформатированную в соответствии с указанным шаблоном format.

1549366680 Либо вместо date_format можно использовать date_timestamp_get

Думаю этих способов вернуть временную метку из даты будет достаточно!

Раз уж выше мы сделали перевод времени в метку времени, то и можно сделать наоборот.

В форме ввода введите метку времени «timestamp», чтобы найти по ней дату.

Сообщение системы комментирования :

Форма пока доступна только админу. скоро все заработает. надеюсь.

Источник

Работа с датой и временем в PHP

Среди разнообразных задач программирования, различные манипуляции со значениями даты и времени встречаются достаточно часто. Редкая автоматизированная система, база данных может обойтись без сохранения информации о времени того или иного процесса. Помимо простейшего добавления даты в запись базы данных или отображения этой даты, встречаются множество задач вывода этих дат в различном виде, проверки соответствия текущего времени с заданным таймером, вычисление срока между двумя датами и многое другое.

Для удобства работы с датами каждый язык программирования имеет свои специальные типы данных для хранения значения даты и времени. Чаще всего это числовое значение, либо целое, либо с плавающей точкой.

В PHP работа с датой чаще всего сталкивается с UNIX TIMESTAMP. Здесь время хранится целым числом. Исчисление времени начинается с 1 января 1970 года. Поэтому, например, дата и время 11.12.2014 19:40:00, будет представлено числом 1418316000. Эта цифра показывает, сколько секунд прошло с нулевой даты 1 января 1970 года, названой Эпохой Unix.

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

Для получения текущего времени сервера используется функция

которая как раз вернет значение в формате unix timestamp.

На первый взгляд не очень удобный формат для человека, но, как известно, чем проще представление данных, тем быстрее выполняется обработка этих значений компьютером. Кроме того, хранение числа в базе данных намного экономичнее, чем какой-либо специальный формат. Так же, PHP работает со временем одинаково и на Unix и на Windows платформе, что обеспечивает возможность использовать код на любой из этих платформ.

Преобразование формата даты и времени в PHP

Простейший механизм, позволяющий преобразовать числовое значение даты на более понятные значения, предоставляется функцией:

Она возвращает ассоциативный массив, содержащий информацию о дате. Если параметр timestamp не указан, будут возвращены сведения о текущем времени. Этот массив содержит следующие значения:

secondsсекунды (0-59)
minutesминуты (0-59)
hoursчасы (0-23)
mdayдень месяца (1-31)
wdayдень недели (0-6), начиная с воскресенья
monмесяц (1-12)
yearгод
ydayдень года (0-365)
weekdayназвание дня недели (например, Monday)
monthназвание месяца (например, January)
0количество секунд, прошедших с начала Эпохи Unix

Полученный массив, позволяет вывести значения нужном виде:

Так же для преобразования формата даты и времени можно воспользоваться функцией:

Формат задается следующими значениями:

Как видно из списка, с помощью этой функции можно получить очень много полезных данных о дате. Например:

Другие символы, входящие в шаблон, будут выведены в строке как есть. Если же потребуется ввести символ, который используется в функции как код формата, перед ними вставляется символ «\». Для значения «\n» (символ перехода на новую строку), следует указать «\\n». Таким образом, можно делать вывод целого сообщения, содержащего сведения о дате и времени:

Преобразование даты и времени в формат timestamp

Для обратного преобразования даты из стандартного формата в числовое значение timestamp применяется функция:

Функция mktime() возвращает значение времени Unix, соответствующую дате и времени, заданным аргументами. Например:

Следует внимательно относится к порядку аргументов функции: часы, минуты, секунды, месяц, день, год.

Кроме простого формирования значения даты в timestamp, функцию mktime() можно использовать для арифметически вычисления с датами. Для этого просто можно ввести необходимые аргументы. Например, если указать 14 месяц, то в итоговом значении, месяц будет 2-й, а значение года увеличится на единицу:

Аналогично можно поступать и с другими параметрами.

Проверка корректности даты в PHP

При работе с датами, особенно при формировании даты предложенной выше функцией mktime() необходимо учитывать корректность вводимой даты. Для этого в PHP используется функция:

Возвращает true если дата, заданная аргументами, является правильной; иначе возвращает false. Дата считается правильной, если:

— год в диапазоне от 1 до 32767;

— месяц в диапазоне от 1 до 12;

— день для заданного месяца с учетом високосного года указаны правильно.

Источник

Функции даты и времени

Содержание

User Contributed Notes 25 notes

I ran into an issue using a function that loops through an array of dates where the keys to the array are the Unix timestamp for midnight for each date. The loop starts at the first timestamp, then incremented by adding 86400 seconds (ie. 60 x 60 x 24). However, Daylight Saving Time threw off the accuracy of this loop, since certain days have a duration other than 86400 seconds. I worked around it by adding a couple of lines to force the timestamp to midnight at each interval.

When debugging code that stores date/time values in a database, you may find yourself wanting to know the date/time that corresponds to a given unix timestamp, or the timestamp for a given date & time.

The following script will do the conversion either way. If you give it a numeric timestamp, it will display the corresponding date and time. If you give it a date and time (in almost any standard format), it will display the timestamp.

All conversions are done for your locale/time zone.

For those who are using pre MYSQL 4.1.1, you can use:

TO_DAYS([Date Value 1])-TO_DAYS([Date Value 2])

For the same result as:

DATEDIFF([Date Value 1],[Date Value 2])

This dateDiff() function can take in just about any timestamp, including UNIX timestamps and anything that is accepted by strtotime(). It returns an array with the ability to split the result a couple different ways. I built this function to suffice any datediff needs I had. Hope it helps others too.

I needed a function that determined the last Sunday of the month. Since it’s made for the website’s «next meeting» announcement, it goes based on the system clock; also, if today is between Sunday and the end of the month, it figures out the last Sunday of *next* month. lastsunday() takes no arguments and returns the date as a string in the form «January 26, 2003». I could probably have streamlined this quite a bit, but at least it’s transparent code. =)

/* The two functions calculate when the next meeting will
be, based on the assumption that the meeting will be on
the last Sunday of the month. */

I wanted to find all records in my database which match the current week (for a call-back function). I made up this function to find the start and end of the current week :

Not really elegant, but tells you, if your installed timezonedb is the most recent:

Someone may find this info of some use:

Rules for calculating a leap year:

1) If the year divides by 4, it is a leap year (1988, 1992, 1996 are leap years)
2) Unless it divides by 100, in which case it isn’t (1900 divides by 4, but was not a leap year)
3) Unless it divides by 400, in which case it is actually a leap year afterall (So 2000 was a leap year).

In practical terms, to work out the number of days in X years, multiply X by 365.2425, rounding DOWN to the last whole number, should give you the number of days.

The result will never be more than one whole day inaccurate, as opposed to multiplying by 365, which, over more years, will create a larger and larger deficit.

I needed to calculate the week number from a given date and vice versa, where the week starts with a Monday and the first week of a year may begin the year before, if the year begins in the middle of the week (Tue-Sun). This is the way weekly magazines calculate their issue numbers.

Here are two functions that do exactly that:

Hope somebody finds this useful.

Use the mySQL UNIX_TIMESTAMP() function in your SQL definition string. i.e.

$sql= «SELECT field1, field2, UNIX_TIMESTAMP(field3) as your_date
FROM your_table
WHERE field1 = ‘$value'»;

The query will return a temp table with coulms «field1» «Field2» «your_date»

The «your_date» will be formatted in a UNIX TIMESTAMP! Now you can use the PHP date() function to spew out nice date formats.

Hope this helps someone out there!

//function like dateDiff Microsoft
//not error in year Bissesto

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *