• Авторизация


Написал первый скрипт на PHP 13-12-2009 21:54 к комментариям - к полной версии - понравилось!


Га-га))). Ну, я до того просто проверял каждую новую фишку, а теперь написал супер-пупер скрипт, который вычисляет разницу между датами . Вернее, он вычисояет сколько прошло с определённой даты и времени до теперешнего момента))). Правда, он считает год за 365 дней, а месяц за 30 дней . Ну, а что вы хотели от скрипта в 19 строк? . Да, ещё, там надо начальную точку времени вписывать в сам скрипт))). Ну, не работал я никогда с формами в html))). Так что такие дела))).

Выдаёт такое:

Прошло 1 лет 0 месяцев 0 недель 0 дней 20 часов 45 минут 11 секунд.

Теперь я почти ПыХаПист
вверх^ к полной версии понравилось! в evernote
Комментарии (11):
mixlink 13-12-2009-22:19 удалить
молодчина (:
давай развивай мастерство
altesack 13-12-2009-22:20 удалить
Упс, а там готовой функции разницы дат не было?
Linux_Loader 13-12-2009-22:28 удалить
mixlink, стараемся))). Уж очень хочется научиться чему-то. Не был бы ещё такой ленивый))).

altesack, неее... В моей книжке не было пока что такого :D. Да и тут ведь не в том дело. Нормальные люди пишут скрипты ради реализации теоретической идеи, получения нужной функциональности, а я пока пишу для прикола, чтоб закрепить знания))). Потому готовая функция - эт не так интересно . Интересно просидеть пол часа, или час и вымучать несчастные 17 строк (+2 строки сами тэги php)
Humiliating 13-12-2009-23:24 удалить
а проще SSI

StringDescriptionExample
ADay of the weekMonday
%aAbbreviated day of the weekMon
%BMonth nameNovember

%bAbbreviated month nameNov
%DDate as MM/DD/YY12/25/77
%dDate as two digits04
%eDate as one digit4
%H24 hour time18

%I12 hour time06
%jNumeric day of the year214
%MMinutes23
%mNumeric month06
%pAM or PMPM

%rTime as HH:MM:SS with AM or PM08:45:54 PM
%SSeconds54
%T24-hour time as HH:MM:SS08:45:54
%UWeek of the year14
%wNumeric day of the week2

%WWeek of the year14
%YYear1977
%yTwo digits of the year77
%ZTime zoneEST

_DOOMer_ 14-12-2009-00:01 удалить
Linux_Loader, ничего и формы освоишь =) Там совсем несложно все это.

altesack, именно функции для вычисления разницы дат там вроде и нет, есть класс для работы с датой времением, у которого (вроде бы) есть подобный метод. Но объектно ориентированное программирование в PHP.. имхо, лучше бы его там не было -- меньше глючно-тормозных CMS было бы сейчас.
altesack 14-12-2009-20:25 удалить
Ответ на комментарий _DOOMer_ # Не не не!!!
ООП - это наше всё!
Inq 16-12-2009-17:26 удалить
Листинг в студию.
Linux_Loader 16-12-2009-22:04 удалить
Tirador, это ещё не молодец, но похвалы всегда приятны . Это только первые попытки шагов, пока через одно место))).

altesack, не смейся, но вот я, например, очень смутно себе представляю, что такое ООП))). Я частично понимаю, но очень отдалённо пока что.

Inq, сейчас поисчу))). Только сразу говорю, сделано топорно. Я не ставил себе целью сделать прикладной скрипт. Просто возникла мысль и я попробовал её реализовать, как смог)))
Linux_Loader 16-12-2009-22:11 удалить
Сейчас попробую выложить:

<?php
// Указываю начальную точку отсчёта времени
$firstTimePoint = mktime(0, 0, 0, 12, 13, 2008);
// Указываю конечную точку - теперешний момент
$secondTimePoint = date("U");
// Вычисляю разницу между конечной и начальной точкой в секундах
$timestampDifference = $secondTimePoint - $firstTimePoint;
// Делю на 31536000 (количество секунд в обычном году). Получаю целое количество лет (floor округляет до наименьшего целого)
$yearDiff = floor($timestampDifference / 31536000);
// Вычисляю остаток от предыдущего деления, чтобы разделить его опять и получить месяца
$yaerDiffl = $timestampDifference % 31536000;
// Остаток от деления на 31536000 делю на 2592000 (количество секунд в месяце, если в нём 30 дней). Получаю целое число месяцев
$monthDiff = floor($yaerDiffl / 2592000);
// Вычисляю остаток от предыдущего деления
$monthDiffl = $yaerDiffl % 2592000;
// И так далее :):):):):):):)
$weekDiff = floor($monthDiffl / 604800);
$weekDiffl = $monthDiffl % 604800;
$dayDiff = floor($weekDiffl / 86400);
$dayDiffl = $weekDiffl % 86400;
$hourDiff = floor($dayDiffl / 3600);
$hourDiffl = $dayDiffl % 3600;
$minuteDiff = floor($hourDiffl / 60);
$minuteDiffl = $hourDiffl % 60;
// Остаток от последнего деления в любом случае - целое число, оставшееся количество секунд. Просто вывожу его в документ как есть :)
$secondsDiff = $minuteDiffl;
echo "Прошло $yearDiff лет $monthDiff месяцев $weekDiff недель $dayDiff дней $hourDiff часов $minuteDiff минут $secondsDiff секунд.";
?>
Linux_Loader 16-12-2009-22:16 удалить
А вот нагляднее с подсветкой :). Хвастаться, так хвастаться :D.
[599x549]


Комментарии (11): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Написал первый скрипт на PHP | Linux_Loader - Дневник Linux_Loader | Лента друзей Linux_Loader / Полная версия Добавить в друзья Страницы: раньше»