4 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 65
1

Как узнать сколько прошло времени?

06.08.2014, 22:49. Показов 14367. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех
Сразу к делу. Нужно реализовать такое:
1. Пользователь допустим жмет на кнопку, сервер узнает дату и время, записывает куда-то, допустим в таблицу.
2. Через пару дней я захотел узнать, сколько прошло дней, часов и т.д с момента как я нажал кнопку.
Как такое реализовать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2014, 22:49
Ответы с готовыми решениями:

Как узнать сколько времени прошло между событиями
group.DataChanged += new Opc.Da.DataChangedEventHandler(group_DataChanged); Не могу сообразить...

Как узнать сколько времени прошло с последнего нажатия на клавишу
Какая функция в API (по-моемому) определяет сколько времени прошло с последнего нажатия клавиши на...

Как узнать, сколько прошло времени с момента предыдущего вызова функции?
Функция отвечает, в том числе, за управление персонажем. Не желательно, чтоб у него от тормозов...

Узнать сколько времени прошло с инсталляции Windows
Как можно узнать сколько времени прошло с инсталляции Windows в консольном проекте?

8
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
06.08.2014, 23:09 2
time() - получает текущее время в секундах от начала эпохи.
Берете это время, вычитаете из него то что хранится в базе - получаете сколько прошло секунд.
0
4 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 65
07.08.2014, 06:46  [ТС] 3
Спасибо.
То есть после вычитания я получу секунды. А если прошло уже два дня?
Не красиво же будет выводить большое число в секундах, как сделать чтобы выводило допустим 2:15:35 (2 часа: 15 минут 35 секунд), если не прошло несколько часов, а только минут, то 15:35 (15 мин 35 сек), а если прошло уже две недели, то XX дней XX часов : XX мин : XX сек ??
Как вот сделать чтобы так вот (красиво) выводило, чтобы было понятно для пользователя?
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
07.08.2014, 18:14 4
Пересчитать секунды в дни. Сколько секунд в одном дне?
0
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.08.2014, 18:35 5
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$start = '2014-05-07 14:20:31';
 
$startTime = new Datetime($start);
$endTime = new DateTime();
 
$diff = $endTime->diff($startTime);
 
echo 'Прошло c последнего момента<br/><br/>';
echo 'месяцев: '.$diff->format('%m').'<br/>';
echo 'дней: '.$diff->format('%d').'<br/>';
echo 'часов: '.$diff->format('%H').'<br/>';
echo 'минут: '.$diff->format('%i').'<br/>';
echo 'секунд: '.$diff->format('%s').'<br/>';
0
1 / 1 / 7
Регистрация: 29.10.2012
Сообщений: 247
24.08.2015, 13:39 6
А можно это изобразить только не в ООП?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
24.08.2015, 14:16 7
Цитата Сообщение от SLameN Посмотреть сообщение
А можно это изобразить только не в ООП?
Да, есть и процедурный стиль. Только чем ООП-стиль не устраивает?
0
1 / 1 / 7
Регистрация: 29.10.2012
Сообщений: 247
24.08.2015, 14:25 8
Я плохо знаю ООП, пишу пока процедурным и не хотелось бы смешивать стили
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
24.08.2015, 17:56 9
Только формат всё равно в ООП получается. Так что есть ли смысл вообще переделывать? Вот:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $start = '2014-05-07 14:20:31';
 
    $startTime = date_create($start);
    $endTime   = date_create();
     
    $diff = date_diff($endTime, $startTime);
     
    echo 'Прошло c последнего момента<br/><br/>';
    echo 'месяцев: '.$diff->format('%m').'<br/>';
    echo 'дней: '.$diff->format('%d').'<br/>';
    echo 'часов: '.$diff->format('%H').'<br/>';
    echo 'минут: '.$diff->format('%i').'<br/>';
    echo 'секунд: '.$diff->format('%s').'<br/>';
1
24.08.2015, 17:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.08.2015, 17:56
Помогаю со студенческими работами здесь

Узнать, сколько времени прошло после установки Windows
Как узнать сколько времени прошло с инсталляции Windows через батник?

Требуется узнать сколько времени прошло с момента завершения работы приложения
Моей программе необходимо при запуске знать, сколько времени прошло с последнего запуска. Есть ли...

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

Как посчитать сколько времени прошло по заданному интервалу времени
Например сколько времени прошло от 10:00 до 9:59? часовой формат 23 часовой. Пробовал циклами...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru