php время минус время

Дата и время в 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 = 47
minutes = 33
hours = 22
mday = 18
wday = 6
mon = 9
year = 2021
yday = 260
weekday = Saturday
month = September
0 = 1631993627
Сегодня: 18.9.2021

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

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

Пример 2

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

Сегодня 18.09.21 22:33

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

Пример 3

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

22 January 1971, at 1.30 pm, Friday

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

Пример 4

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

Saturday 18 September 2021 22:33
Сегодня Saturday 18 September 2021 22:33:47
MSK

Источник

PHP вычесть час из даты

Я получаю дату в виде строчки: «09.03.2017 18:46». Как мне из нее вычесть час, чтобы получить такую строчку «09.03.2017 17:46»?

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

4 ответа 4

Есть простой вариант:

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

Можно воспользоваться Datetime и в частности его методом date_sub, который вычтет любой интервал в зависимости от переданного шаблона

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

Нужно завести привычку работать с датой/временем, как с датой и временем.
Иначе придётся учитывать кучу тонкостей.

Функция для вычитания интервала из даты: DateTime::sub

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php или задайте свой вопрос.

Связанные

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

PHP занятие 6. Функции даты и времени

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

Функции даты и времени в PHP позволяют получить дату и время с сервера, с которого запускается сценарий.

Рассмотрим основные функции даты и функции времени php.

Функция date в php

Рассмотрим варианты символов, которые распознаются в параметре формат:

Символ в параметре formatОписаниеПример возвращаемого значения

Функция даты php
День
dДень месяца: две цифры с первым нулёмот 01 до 31
DДень недели в словесном представлении, 3 символаот Mon до Sun
jДень месяца без первого нуляот 1 до 31
l (строчная «L»)Полное словесное название дня неделиот Sunday до Saturday
NПорядковый номер дня неделиот 1 (понедельник) до 7 (воскресенье)
SСокращение порядкового числительного дня месяца: два символаst, nd, rd или
th. Применяется вместе с j
wПорядковый номер дня неделиот 0 (воскресенье) до 6 (суббота)
zПорядковый номер дня в году (начиная с 0)От 0 до 365
Неделя
WПорядковый номер недели года: недели начинаются с понедельника33 (33-я неделя года)
Месяц
FПолное словесное название месяца, например Mayот January до December
mПорядковый номер месяца с первым нулёмот 01 до 12
MСокращенное словесное название месяца: три символаот Jan до Dec
nПорядковый номер месяца без первого нуляот 1 до 12
tКоличество дней в указанном месяцеот 28 до 31
Год
LУказывает на високосный год1, если год високосный, иначе 0.
oНомер года1999 или 2003
YПорядковый номер года: четыре цифры1998, 2008
yНомер года: две цифры98, 08
Функции времени php
aAnte meridiem (с англ. «до полудня») или Post meridiem (с англ. «после полудня»)am или pm
AAnte meridiem или Post meridiem заглавными буквамиAM или PM
BВремя в формате Интернет-времениот 000 до 999
gЧасы в 12-часовом формате без первого нуляот 1 до 12
GЧасы в 24-часовом формате без первого нуляот 0 до 23
hЧасы в 12-часовом формате с первым нулёмот 01 до 12
HЧасы в 24-часовом формате с первым нулёмот 00 до 23
iМинуты с первым нулёмот 00 до 59
sСекунды с первым нулёмот 00 до 59
uМикросекундыНапример, 654321
vМиллисекундыНапример, 654
Временная зона
eКод шкалы временной зоныНапример, UTC, GMT
I (заглавная i)Признак летнего времени1, если дата соответствует летнему времени, 0 в противном случае.
Полная дата/время
cДата в формате, указанном в примере2006-05-12T15:19:21+00:00
rДата в формате, указанном в примереНапример: Thu, 23 Dec 2010 18:05:07 +0200
UКоличество секунд, прошедших с начала Эпохи Unix (с 1 января 1970 00:00:00 GMT)

Пример:

// выведет день недели в формате: Saturday echo date(«l»); // выведет дату в формате 2017-01-28 echo date(‘Y-m-d’); // выведет дату и время в формате: Saturday 8th of August 2016 06:13:44 PM echo date(‘l jS \of F Y h:i:s A’);

Функция time и mktime в php

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

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

Функция используется совместно с функцией date():

Выполнение:

Функция используется совместно с функцией mktime:

mktime — возвращает метку времени Unix для указанной даты

Аргументы:

Аргументы могут быть опущены в порядке справа налево.

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

Рис. 6.1. Использование функции mktime и date

Выполнение:

Дополните код:

Использование функций даты и времени

Напоминание:
Time() – возвращает текущее время
Date(format,время) – возвращает время, заданного вторым параметром в указанном формате:

Функция getdate в php

Функция getdate возвращает информацию о дате и/или времени

Индексы ассоциативного массива:

Источник

Php время минус время

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Описание

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

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

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

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

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

Примеры

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

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

Примечания

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

User Contributed Notes 21 notes

The documentation should have this info. The function time() returns always timestamp that is timezone independent (=UTC).

Two quick approaches to getting the time elapsed in human readable form.

$nowtime = time ();
$oldtime = 1335939007 ;

/** Output:
time_elapsed_A: 6d 15h 48m 19s
time_elapsed_B: 6 days 15 hours 48 minutes and 19 seconds ago.
**/
?>

A time difference function that outputs the time passed in facebook’s style: 1 day ago, or 4 months ago. I took andrew dot macrobert at gmail dot com function and tweaked it a bit. On a strict enviroment it was throwing errors, plus I needed it to calculate the difference in time between a past date and a future date.

Argument order (begin date, end date) doesn’t matter.

I needed to convert between Unix timestamps and Windows/AD timestamps, so I wrote a pair of simple functions for it.

Below, a function to create TNG-style stardates, taking 2009 to start stardate 41000.0. In fact, the offset is trivial to adjust if you wish to begin from a different date.

Here’s a snippet of code that demonstrates the difference:

// Find the next second
$nextSecond = time () + 1 ;

// TIME: 1525735820 uTIME: 1525735820.997716
// TIME: 1525735820 uTIME: 1525735820.998137
// TIME: 1525735820 uTIME: 1525735820.998528
// TIME: 1525735820 uTIME: 1525735820.998914
// TIME: 1525735820 uTIME: 1525735820.999287
// TIME: 1525735820 uTIME: 1525735820.999657
// TIME: 1525735820 uTIME: 1525735821.000026 time() is behind
// TIME: 1525735820 uTIME: 1525735821.000367 time() is behind
// TIME: 1525735820 uTIME: 1525735821.000705 time() is behind
// TIME: 1525735820 uTIME: 1525735821.001042 time() is behind
// TIME: 1525735820 uTIME: 1525735821.001379 time() is behind
// TIME: 1525735821 uTIME: 1525735821.001718
// TIME: 1525735821 uTIME: 1525735821.002070
// TIME: 1525735821 uTIME: 1525735821.002425
// TIME: 1525735821 uTIME: 1525735821.002770
// TIME: 1525735821 uTIME: 1525735821.003109
// TIME: 1525735821 uTIME: 1525735821.003448
// TIME: 1525735821 uTIME: 1525735821.003787
// TIME: 1525735821 uTIME: 1525735821.004125
// TIME: 1525735821 uTIME: 1525735821.004480

Here’s a little tweak for those having trouble with cookies being set in the future or past (even after setting the date.timezone directive in php.ini or using the function):

Does anyone know if the year 2038 issue will be solved in PHP?

Lets imagine it’s year 2039 and the time() function will return negative numbers? This is not acceptable.

Using the DateTime interface is nice, but will these timestamp helper functions be removed or fixed?

If you want to create a «rounded» time stamp, for example, to the nearest 15 minutes use this as a reference:

= 60 * 15 // 60 seconds per minute * 15 minutes equals 900 seconds
//$round_numerator = 60 * 60 or to the nearest hour
//$round_numerator = 60 * 60 * 24 or to the nearest day

//If it was 12:40 this would return the timestamp for 12:45;
//3:04, 3:00; etc.
?>

I built this function to get the strtotime numbers for the beginning and ending of the month and return them as arrays in an object. Cheers.

The issue are highlighting is with the date() function, not with time(). the following code demonstrates this:

A better way to get a nice time-format (1 year ago, 2 months until) without all the trailing months, days, hours, minutes, seconds in the result is by using the DateTime format and using the date_diff function as they both does most of the heavy lifting for you

Function below as example

// Ex. (time now = November 23 2017)
getTimeInterval ( «2016-05-04 12:00:00» ); // Returns: 1 year ago
getTimeInterval ( «2017-12-24 12:00:00» ); // Returns: 1 month until

I did an article on floating point time you can download from my website. Roun movements is the radial ounion movement and there is a quantum ounion movement as well, this code will generate the data for http://www.chronolabs.org.au/bin/roun-time-article.pdf which is an article on floating point time, I have created the calendar system as well for this time. It is compatible with other time and other solar systems with different revolutions of the planets as well as different quantumy stuff.

Here’s one way to generate all intermediate dates (in mySQL format) between any 2 dates.
Get start and end dates from user input, you’d need to do the basic validations that :
— start and end dates are valid dates
— start date //start date 2001-02-23
$sm = 2 ;
$sd = 23 ;
$sy = 2001 ;

//end date 2001-03-14
$em = 3 ;
$ed = 14 ;
$ey = 2001 ;

A method return GMT time (gmttime):

elapsed time function with precision:

Here is a version for the difference code that displays «ago» code.

It does use some precision after the time difference is longer than a day. ( ie days are more than 60 * 60 * 24 hours long )

// Make the entered date into Unix timestamp from MySQL datetime field

// Calculate the difference in seconds betweeen
// the two timestamps

Источник

Разница во времени в формате timestamp

Пытаюсь сделать таймер. Есть время окончания — 2015-05-13 17:00:00.

Нужно посчитать разницу между текущим временем и временем до окончания и запихнуть это всё в переменные:

чтоб в будущем эти переменные подставить в обратный таймер с JavaScript.

php время минус время. Смотреть фото php время минус время. Смотреть картинку php время минус время. Картинка про php время минус время. Фото php время минус время

4 ответа 4

Буквальный ответ такой:

Но можно передать в JS просто метку времени, а не составляющие.
Нюанс в том, что Javascript работает с милисекундами, а PHP с секундами.

А уже в JS делайте какие-то вычисления.

Вопрос немного размыт (нужно ли полное количество секунд / минут / часов или округленное до минут / часов / дней), поэтому сложно на него ответить. Я буду опираться на то, что требуется полное количество часов и округленное количество минут и секунд.

UNIX Timestamp

Таким образом можно получить необходимые данные с минимальными затратами (математические операции крайне дешевы по сравнению с тем, о чем пойдет речь дальше).

DateInterval

Более верным решением задач с датами является работа с объектами класса DateTime и DateInterval. Эти два класса представляют собой дату и разницу дат соответственно. При простой работе с временной меткой возникает куча неразрешимых вопросов, например:

Из-за особенностей календаря появляется очень много нетривиальных моментов, где просто невзможно работать с разницей дат как с числом секунд. Поэтому в языках программирования вводятся сущности, аналогичные DateTime и DateInterval. В вышеприведенном случае работа с DateTime будет максимально проста:

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

Источник

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

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