Функция date(). Нюанс

Keron

Новичок
Функция date(). Нюанс

Здравствуйте.
Подскажите, пожалуйста, каким образом можно осуществить следующее: есть дата в формате date("M,d,Y,H:i:s"), нужно вывести дату, прибавив к минутам ровно 20, т.е., к примеру, текущая дата: Oct,20,2008,02:45:14, нужно, чтобы результат был Oct,20,2008,03:05:14

Спасибо.
 

Фанат

oncle terrible
Команда форума
"дата в формате" и "текущая дата" - это сильно разные вещи.
и второе делается сложнее ,чем первое. но тем же способом.
в документации все написано
 

Keron

Новичок
Спасибо за ответы.
нашел способ:
date("M,d,Y,H:i:s", strtotime("+20 min"));
 

Major

Новичок
[offtop]
Знаю что ответ получен, но для будущих юнатов, которые сбюа заглянут. Чтобы потом таких вопросов не повторялось.

-- Прелюдия. --

Давеча 1 кодер писал штуку, которая показывает какое время юзверь отсутствует. Типа: 5 минут, 1 час, 1 день...

Так вот, я хз как он мануал читал, но он умудрился делать операции с time() что правильно, но... он потом приводил все это к дате вида (float) YmdHis, и делал уже с ними вычисления, причем вычитал точку от эры юникса (19700101030000), а результат парсил как строку. Жесть. Все бы ничего, но тут он заявляет что у него

PHP:
time() -time()
дает разницу в 3 часа, это он подвел под черту что время по грнвичу и еще надо поправку на эти 3 часа делать. Я был в шоке. Оказалось, он делал так

PHP:
(float) date('His',time() -time())
Тоесть он тупо получал нулевую точку отсчета. Я просто не знал что ответить. И он был уверен что он прав, так как вот так вот и баста.

Незнание приводит к тому, что, порой, человек готов переписать все мыслимые и немыслимые законы. И то, что у него x - x = 3 его не удивляет совсем. Куда катится мир?

[/offtop]

Так вот, для юнатов, которые сюда еще не раз заглянут. Юникс тайм штамп - это время в секундах от начала эры юникс с 1970г 01.01. 03:00:00. И зная разницу в секундах, вы всегда можете узнать разницу в минутах, часах, днях... Причем помните, что 1 минута = 60 секунд, а 1 час = 60 минут. А сутки = 24 часа! Но не 60 часов! И не 1024 часа! Земные сутки 24 часа, хоть убейтесь!

Это не магичесмкое число от непонятно чего. Это тупо секунды с того самого времени. Просто секунды. И с каждой секундой, что вы читаете этот пост, это число увеличивается ровно на +1 секунду и никак не более или менее. И если на сервере часы правильные, то как не крути, это число будет у всех одинаково в данный момент времени.

З.Ы.: Это так... не сдержался. Просто может хоть кто-то из юнатов хотя бы отсюда поймет что за зверь time().

З.Ы.З.Ы.: Старожили, если я в чем-то не прав, поправте меня. Ато я сам скоро стану верить в то, во что верят неверные =)
 

Ravanger

Новичок
Ну кое в чем твой кодер прав был, ибо
PHP:
date('h', 0);
действительно возвращает разницу с гринвичем, но этого
PHP:
time() - time();
искренне не понял
 

Dovg

Продвинутый новичок
boombick
В дефолт-сити она как раз в это время началась :)
 

Maxsystems

Новичок
Re: Функция date(). Нюанс

Автор оригинала: Keron
Здравствуйте.
Подскажите, пожалуйста, каким образом можно осуществить следующее: есть дата в формате date("M,d,Y,H:i:s"), нужно вывести дату, прибавив к минутам ровно 20, т.е., к примеру, текущая дата: Oct,20,2008,02:45:14, нужно, чтобы результат был Oct,20,2008,03:05:14

Спасибо.
/*
20 минту = 1200 секунд(60*20)
time() - возращает время юнекс лифы в числе в секундах, на сегоднешнее время это составляет число из 10 чисел
*/

date("M,d,Y,H:i:s",(time()+1200)); // Сегодняшнее время + 20 минут.
 

Maxsystems

Новичок
Я старался =)
Без юмора программировать нельзя!!!

*****, это называеться муза программиста, историю читай тайм штампа и тд..
 
Сверху