Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для biceps machine
1 / 1 / 1
Регистрация: 24.01.2013
Сообщений: 9

Количество времени между двумя датами

10.12.2013, 15:08. Показов 2157. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо посчитать сколько времени работает магазин к примеру, с момента открытия до сегоднешнего дня
Написал, хочеться спросить есть ли более элегантное решение, или есть ли косяки в коде.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php 
$tmp = new howLongWorkShop();
echo $tmp->getTimeWorkDShop(mktime(0, 0, 0, 11, 04, 2000));
 
class howLongWorkShop
{
    public function getTimeWorkDShop($timesTamp){
        $timeWorkShop = (time() - $timesTamp)/(86400);  
 
        switch ($timeWorkShop) {
            case ($timeWorkShop > 365):
                $result = floor(($timeWorkShop /365)).$this->getCorectDay(floor(($timeWorkShop /365)), "year");
                $timeWorkShop = $timeWorkShop % 365;
            case ($timeWorkShop > 30.5):
                $result .= floor(($timeWorkShop /30.5)).$this->getCorectDay(floor(($timeWorkShop /30.5)), "month");
                $timeWorkShop = $timeWorkShop % 30.5;
            default:
                $result .= floor(($timeWorkShop )).$this->getCorectDay(floor(($timeWorkShop)), "day");
                break;  
        }
        return $result;
    }
 
    public function getCorectDay($time, $year){
        switch ($year) {
            case 'year':
                if(1 == $time){
                    return " Год ";
                }elseif(2 == $time or 3 == $time or 4 == $time){
                    return " Года ";
                }else{
                    return " Лет ";
                };
 
            case 'month':
                if(1 == $time){
                    return " Месяц ";
                }elseif(2 == $time or 3 == $time or 4 == $time){
                    return " Месяца ";
                }else{
                    return " Месяцев ";
                };
 
            case 'day':
                if(1 == $time and 11 != $time){
                    return " День ";
                }elseif(2 == $time or 3 == $time or 4 == $time){
                    return " Дня ";
                }else{
                    return " Дней ";
                };
        }
    }
}
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2013, 15:08
Ответы с готовыми решениями:

Количество дней между двумя датами
Как узнать количество дней между двумя датами?

Не правильно считается количество дней между двумя датами
добрый день! есть бд, в ней таблица, интересует только столбец date_paid там есть 3 записи в формате DATE: 1) 2015-02-19 ...

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

1
Иллюзионист
 Аватар для philin
154 / 153 / 27
Регистрация: 02.10.2013
Сообщений: 330
10.12.2013, 16:18
Неплохой велосипед)
Разве что с днями не совсем верно.
10-19 - дней
Х1 - день (кроме 11)
2-4 - дня

а как же Х2-Х4? Например, 22 дня?
Вообще эти свичи можно объединить в один - они одинаковые. И выбирать из массива. Т.е. сначала определить число и и падеж, а потом уже брать слово
PHP
1
$year = array('год', 'года', 'лет');
Плюс если не создавать объект, а просто функцию (getCorrectDay сделать просто вложенной функцией), тогда и объем кода сократится

Ну и ИМХО: Current c 2 "r", TimeStamp уж если по словам верблюжить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2013, 16:18
Помогаю со студенческими работами здесь

Вычисление разницы между двумя датами на PHP
ув АЛЛ как вычислить разницу между двумя датами (хочу знать сколь времени юзер не проявляет активности). В БД МайСкл сидит дата когда...

Как найти середину даты между двумя датами
Прошу помочь решить такую задачку в PHP. ест 2 дата 1. 2015-11-20 2. 2016-02-20 Нужно вычислить какой дата между ними. ...

Разница во времени между датами
Здравствуйте!Подскажите, пожалуйста, как можно найти разницу во времени между двумя датами с точностью до секунд (одна из дат - это...

Как лучше посчитать кол-во дней между двумя датами?
&quot;10/12/1989&quot; 23/02/2016&quot; Как посчитать лучше кол-во дней между ними?

Количество дней между датами
Подскажите пожалуйста самый короткий путь вычислить разницу в днях между датами. Формата d-m-y


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru