weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6

Как вычислить разницу времени?

12.02.2011, 04:13. Показов 17017. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
точнее разницу то понятно как вычислять: от текущего времени отнимаем заданное. Я так и делаю, но проблема в том что при таком подходе php возвращает мне эту разницу в UNIX формате времени, т.е. вот так: 1297470097
хотелось бы как-то нагляднее чтоб было, или хотя бы как вычислить чему соотв. 10 мин. обычно времени в UNIX формате?
Скажем так, мне нужно если разница между текущем временем и прошедшем равна 10 мин., то echo "Diference 10".

Добавлено через 49 минут
допустим я вычислил эту разность в UNIX'e, результат: 1297473090. Как узнать является ли это время больше 10 минут или нет?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2011, 04:13
Ответы с готовыми решениями:

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

Получить разницу во времени
как из двух отрезков времени вида получить разницу во времени вида ?

Не получается найти разницу времени
Добрый день! Весь день бьюсь над вопросом расчета количества дней, часов и минут между датами. Уже ничего не понимаю, разными способами...

5
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.02.2011, 06:01
AlienNation, Время в unixtimetamp - это количество секунд, прошедших с 1970-01-01 00:00:00. Т.е. обычное целое число. Если от 2011-02-12 10:31:23 (1297506683) отнять 2011-02-12 10:19:23 (1297505963), то получится разница в секундах: 720. Если теперь это число понимать, как unixtimetamp, то это будет означать "720 секунд после 1970-01-01 00:00:00". В сутках 86400 секунд, так что при целочисленном делении на 86400 получим целое число дней и время
PHP
1
2
$time = gmdate('H:i:s', $n % 86400);
$days = floor($n / 86400);
1
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
12.02.2011, 14:54  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
AlienNation, Время в unixtimetamp - это количество секунд, прошедших с 1970-01-01 00:00:00. Т.е. обычное целое число. Если от 2011-02-12 10:31:23 (1297506683) отнять 2011-02-12 10:19:23 (1297505963), то получится разница в секундах: 720. Если теперь это число понимать, как unixtimetamp, то это будет означать "720 секунд после 1970-01-01 00:00:00". В сутках 86400 секунд, так что при целочисленном делении на 86400 получим целое число дней и время
PHP
1
2
$time = gmdate('H:i:s', $n % 86400);
$days = floor($n / 86400);
все равно мне это ничего ни дало и я опять в ступоре,как вычислить конкретно разницу между текущем временем и тем, которое прошло (10 мин), т.е. должно получиться примерно так:
текущее время - прошедшее время = 10 мин. (тут чтобы четко было видно что это именно 10 мин, а не набор цифр, для меня безсмысленный)?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.02.2011, 17:09
PHP
1
2
3
4
5
$NewYear = gmmktime(0, 0, 0, 1, 1, 2012);
$Diff = $NewYear - time(); // разница в секундах
$RemDays = (int)floor($Diff / 86400); // целых дней в этой разнице
$RemTime = gmdate('H:i:s', $Diff % 86400); // остатки дня в чч:мм:сс
echo "До нового года осталось $RemDays дн. и $RemTime";
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
12.02.2011, 17:18  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
PHP
1
2
3
4
5
$NewYear = gmmktime(0, 0, 0, 1, 1, 2012);
$Diff = $NewYear - time(); // разница в секундах
$RemDays = (int)floor($Diff / 86400); // целых дней в этой разнице
$RemTime = gmdate('H:i:s', $Diff % 86400); // остатки дня в чч:мм:сс
echo "До нового года осталось $RemDays дн. и $RemTime";
Спасибо, слушай, раз уж ты разбираешься в теме, может поможешь мне вот в таком вопросе:
У меня есть БД(создавал в phpmyadmin), в нем есть поле времени с типом time, формат у него обычный 00:00:00, я вытянул это время в переменную $ztime, вот тут мне и нужно вычислить эту разницу между текущем временем и тем что в таблице и если она больше 10 мин., то совершить некое дей-е напр. echo "more than 10 min.";
но когда я вычитаю эту разницу, то происходит это ужасное конвертирование из норм. времени в UNIX и т.д., я вот думаю, может в phpmyadmin таблице можно хранить сразу UNIX формат времени?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.02.2011, 17:27
Цитата Сообщение от AlienNation Посмотреть сообщение
в нем есть поле времени с типом time, формат у него обычный 00:00:00, я вытянул это время в переменную $ztime, вот тут мне и нужно вычислить эту разницу между текущем временем
...
я вот думаю, может в phpmyadmin таблице можно хранить сразу UNIX формат времени?
Нет, поля date и datetime позволяют применять к ним функции даты и времени. В частности, можно извлекать из базы не время, а сразу разницу, или даже сразу результат проветки "если > 10":
SQL
1
2
3
SELECT DATE_ADD(`time`, INTERVAL 10 MINUTE) > NOW() AS `great_then_10_min`
FROM `table`
WHERE ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2011, 17:27
Помогаю со студенческими работами здесь

Отнять время от времени. Получить разницу в формате 00:00:00
есть date('H:i:s', $TIME) и date('H:i:s', $TIME2) у них разное время как узнать разницу между временем или узнать разницу между time() и...

Узнать разницу во времени из базы, хранящееся в формате TIMESTAMP, и текущим временем сервера
Подскажите как узнать разницу во времени из базы,которое я достаю ,хранящаяся в формате TIMESTAMP и текущим временем...

Вычислить разницу дат в днях
есть две даты в таком формате 2012-12-20 2012-11-01 как найти их разницу в днях?

Вычислить разницу во времени
Написать приложение, по нажатию на кнопку с надписью <Пуск> отображает на объекте Label 1 текущее время,по нажатию на <Стоп> текущее...

Как вычислить разницу в формате "HH ч mm мин" между двумя значениями времени?
Добрый день! Есть таблица, одним из полей которого есть время в формате yyyy-MM-dd HH:mm:ss Как между двумя значениями времени...


Искать еще темы с ответами

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru