Интересует следующее:
1. Допустим есть 3 даты в формате dd.mm.yyyy (13.10.2010)
Мне нужно создать такое условие при котором код выполнялся бы если дата1 календарно больше даты2 и меньше даты3 (все включительно).
т.е. что-то типа:
if ($date1 >= $date2 && $date1 <= $date3) {}
2. Как прибавить к дате в таком формате определенное число дней?
3. Как вычислить (положительную или отрицательную) разницу между двумя датами в днях?
4. Как определить день недели?
Спустя 17 минут, 6 секунд (13.10.2010 - 10:37) linker написал(а):
1.
2.
4.
if (strtotime($date1) >= strtotime($date2) && strtotime($date1) <= strtotime($date3))
{
}
2.
$SecPerDay = 60 * 60 * 24;3. Поиск по форуму.
$date4 = date('d.m.Y', strtotime($date1) + $SecPerDay);
4.
date('w', strtotime($date4));Вообще php-мануал рулит http://www.php.ru/manual/function.date.html
или
date('l', strtotime($date4));
Спустя 3 часа, 8 минут, 13 секунд (13.10.2010 - 13:45) LRCenter написал(а):
Спасибо за исчерпывающий комментарий.
Цитата |
Вообще php-мануал рулит |
Понятно что рулит. Но системно изучать язык очень неинтересно
Спустя 24 минуты, 20 секунд (13.10.2010 - 14:10) linker написал(а):
Зато быстрее, чем скакать с места на место.
Спустя 2 минуты, 11 секунд (13.10.2010 - 14:12) LRCenter написал(а):
Зато не так весело
Спустя 1 день, 3 часа, 22 минуты, 22 секунды (14.10.2010 - 17:34) LRCenter написал(а):
Для всех интересующихся - найти положительную или отрицательную разницу между 2-мя датами можно так:
$sDate = "16.12.2010";
$eDate = "18.11.2010";
$sStart = explode(".",$sDate);
$sEnd = explode(".", $eDate);
$start = mktime(0,0,0,$sStart[1],$sStart[0],$sStart[2]);
$end = mktime(0,0,0,$sEnd[1],$sEnd[0], $sEnd[2]);
$secInDay = 60 * 60 * 24;
$days = ($end-$start)/$secInDay;
echo $days;
Спустя 4 минуты, 25 секунд (14.10.2010 - 17:39) arvitaly написал(а):
Цитата |
$sDate = "16.12.2010"; $eDate = "18.11.2010"; $sStart = explode(".",$sDate); $sEnd = explode(".", $eDate); $start = mktime(0,0,0,$sStart[1],$sStart[0],$sStart[2]); $end = mktime(0,0,0,$sEnd[1],$sEnd[0], $sEnd[2]); $secInDay = 60 * 60 * 24; $days = ($end-$start)/$secInDay; echo $days; |
ересь какая то
Спустя 4 минуты, 51 секунда (14.10.2010 - 17:43) aH6y написал(а):
LRCenter
я бы делал с помощью unix времени, то есть в секундах - проще как по мне.
я бы делал с помощью unix времени, то есть в секундах - проще как по мне.
Спустя 1 минута, 33 секунды (14.10.2010 - 17:45) aH6y написал(а):
Цитата (arvitaly @ 14.10.2010 - 17:39) | ||
ересь какая то |
это потому что запись в бд сделана в виде даты, а не time()
Спустя 3 минуты, 59 секунд (14.10.2010 - 17:49) arvitaly написал(а):
Цитата |
это потому что запись в бд сделана в виде даты, а не time() |
Нет это потому что написана фигня (бд тут вообще не причем).
Спустя 1 минута, 10 секунд (14.10.2010 - 17:50) LRCenter написал(а):
aH6y
Зато при выводе или экспорте-импорте меньше ресурсов тратится - просто вывел и все. А секунды еще преобразовывать надо.
Зато при выводе или экспорте-импорте меньше ресурсов тратится - просто вывел и все. А секунды еще преобразовывать надо.
Спустя 1 минута, 29 секунд (14.10.2010 - 17:52) LRCenter написал(а):
arvitaly
А в чем фигня-то? На входе 2 даты в таком формате, как принято в России, на выходе разница между ними в днях. Что не так?
А в чем фигня-то? На входе 2 даты в таком формате, как принято в России, на выходе разница между ними в днях. Что не так?
Спустя 1 минута, 15 секунд (14.10.2010 - 17:53) aH6y написал(а):
Цитата (LRCenter @ 14.10.2010 - 17:50) |
aH6y Зато при выводе или экспорте-импорте меньше ресурсов тратится - просто вывел и все. А секунды еще преобразовывать надо. |
зато можно через месяц пользования ресурсов поменять с одного вывода на другой изменив лишь функцию, а в твоём случае придёться переписывать всю бд...
и не пишу уже о том, какое ко-во ячеек придёться изменять при пользовании ресурсом больше года и т.д...
я тоже когда начинал учить php в бд заносил и время - дату строкой и время time(), т.к. банально не знал на тот момент о том как преобразовать unix время в читабельный вид.
как только узнал сразу же удалил все читабельные ячейки времени и даты из бд и переписал на unix время, что и тебе советую
Спустя 2 минуты, 26 секунд (14.10.2010 - 17:55) LRCenter написал(а):
aH6y
Хм. Большое спасибо за критику
Хм. Большое спасибо за критику
Спустя 3 минуты, 18 секунд (14.10.2010 - 17:59) arvitaly написал(а):
$sDate = "16.12.2010";
$eDate = "18.11.2010";
$days = (strtotime($eDate) - strtotime($sDate))/86400;
Спустя 1 минута, 13 секунд (14.10.2010 - 18:00) aH6y написал(а):
LRCenter
пожалуйста)
кстать если хошь можешь проверить скорость работы с датой из бд и с преобразованием через функцию.
попозже и сам проверю.
пожалуйста)
кстать если хошь можешь проверить скорость работы с датой из бд и с преобразованием через функцию.
попозже и сам проверю.
Спустя 19 минут, 32 секунды (14.10.2010 - 18:19) LRCenter написал(а):
aH6y
Дело в том, что я храню данные в csv-таблицах, т.е. flat-file, и мне хочется чтобы дата была читаема в хранимом виде.
Дело в том, что я храню данные в csv-таблицах, т.е. flat-file, и мне хочется чтобы дата была читаема в хранимом виде.
Спустя 2 минуты, 29 секунд (14.10.2010 - 18:22) LRCenter написал(а):
arvitaly
Спасибо за то что сделали мой код более лаконичным
Спасибо за то что сделали мой код более лаконичным
Спустя 1 минута, 15 секунд (14.10.2010 - 18:23) aH6y написал(а):
Цитата (LRCenter @ 14.10.2010 - 18:19) |
aH6y Дело в том что я храню данные в csv-таблицах, т.е. flat-file, и мне хочется чтобы дата была читаема в хранимом виде. |
смысл?
ведь если у тя будет большой проэкт, то ты скорее сделаешь админку, чем бушь заглядывать в бд и там что-то править иль смотреть на дату...
Спустя 1 минута, 59 секунд (14.10.2010 - 18:25) arvitaly написал(а):
Цитата |
Спасибо за то что сделали мой код более лаконичным |
я бы сказал, что я сделал свой код)
Спустя 3 минуты, 44 секунды (14.10.2010 - 18:29) LRCenter написал(а):
Одно из преимуществ csv, как раз в том что данные можно редактировать и помошью редактора таблиц вроде excel-я (очень удобно), это часто бывает нужно, при работе с определенными видами данных. Тем более что с экселем умеют работать почти все, а с админкой еще надо освоиться.
Спустя 6 минут, 28 секунд (14.10.2010 - 18:35) aH6y написал(а):
Цитата |
Одно из преимуществ csv, как раз в том что данные можно редактировать и помошью редактора таблиц вроде excel-я (очень удобно), это часто бывает нужно, при работе с определенными видами данных. Тем более что с экселем умеют работать почти все, а с админкой еще надо освоиться. |
сколько людей - столько и мнений.
Спустя 48 секунд (14.10.2010 - 18:36) LRCenter написал(а):
точно
Спустя 25 минут, 5 секунд (14.10.2010 - 19:01) LRCenter написал(а):
Кстати, если говорить о потребности переводе даты в другой формат, то зачем это может понадобиться?
Северо-американский "месяц-день-год", вообще нелогичен. Мне кажется наш формат самым удобным, а если все-же и потребуется перевести для каких-нибудь нужд локализация и т.п., то в вашем случае и так - и так дату преобразовывать необходимо.
Северо-американский "месяц-день-год", вообще нелогичен. Мне кажется наш формат самым удобным, а если все-же и потребуется перевести для каких-нибудь нужд локализация и т.п., то в вашем случае и так - и так дату преобразовывать необходимо.
Спустя 25 минут, 47 секунд (14.10.2010 - 19:27) linker написал(а):
LRCenter
Когда хранишь timestamp то ничего преобразовывать не надо, достаточно написать echo
Когда хранишь timestamp то ничего преобразовывать не надо, достаточно написать echo
date("формат вывода даты", $timestamp), а вот храня даты в виде строки, придется изрядно покорячится, чтобы сделать что-то вида: Четверг, 14 сентября 2010 года
Спустя 8 часов, 52 минуты, 48 секунд (15.10.2010 - 04:20) arvitaly написал(а):
Цитата |
Одно из преимуществ csv, как раз в том что данные можно редактировать и помошью редактора таблиц вроде excel-я (очень удобно), это часто бывает нужно, при работе с определенными видами данных. Тем более что с экселем умеют работать почти все, а с админкой еще надо освоиться. |
Есть phpmyadmin,mysqlfront,navicat и куча других программ для работы с mysql, причем тут админка?
Спустя 4 часа, 56 минут, 26 секунд (15.10.2010 - 09:16) LRCenter написал(а):
arvitaly
Скажите это какому-нибудь офисному клерку
Скажите это какому-нибудь офисному клерку
Спустя 1 минута, 43 секунды (15.10.2010 - 09:18) arvitaly написал(а):
Ну извините править базу данных в Excel, а потом как то синхронизировать закачку на сервер по моему явно не стоит того.
Я понимаю еще на VBA скрипт отслеживающий изменения и отправляющий на сервер и получающий их обратно это да - а так фигня какая то
Я понимаю еще на VBA скрипт отслеживающий изменения и отправляющий на сервер и получающий их обратно это да - а так фигня какая то
Спустя 3 часа, 35 минут, 47 секунд (15.10.2010 - 12:54) LRCenter написал(а):
arvitaly
В смысле синхронизировать? У меня данные в csv и хранятся.
Хотя многие коммерчесие CMS имеют функцию экспорта\импорта csv, в моем случае просто заливаешь файл с заменой и все.
В смысле синхронизировать? У меня данные в csv и хранятся.
Хотя многие коммерчесие CMS имеют функцию экспорта\импорта csv, в моем случае просто заливаешь файл с заменой и все.
Спустя 4 минуты, 22 секунды (15.10.2010 - 12:58) arvitaly написал(а):
Цитата |
arvitaly В смысле синхронизировать? У меня данные в csv и хранятся. Хотя многие коммерчесие CMS имеют функцию экспорта\импорта csv, в моем случае просто заливаешь файл с заменой и все. |
Нет а как 2 человека то одновременно должны работать? Все БД существуют именно для этого
Спустя 10 минут, 41 секунда (15.10.2010 - 13:09) LRCenter написал(а):
Понятно. В моем случае такое не требуется, никакой асинхронности быть не может - админ один
Спустя 7 минут, 16 секунд (15.10.2010 - 13:16) arvitaly написал(а):
ппц зачем тогда php вообще
Спустя 2 минуты, 48 секунд (15.10.2010 - 13:19) LRCenter написал(а):
Кроме разделения доступа php других задач решать не может, что-ли?
Спустя 5 минут, 28 секунд (15.10.2010 - 13:24) silius написал(а):
LRCenter
админка на сайте - это хороший тон работы программиста, нет админки, всё руками нужно править, так делай тогда статический сайт. Пиши странички html.
что касается:
админка на сайте - это хороший тон работы программиста, нет админки, всё руками нужно править, так делай тогда статический сайт. Пиши странички html.
что касается:
Цитата |
Скажите это какому-нибудь офисному клерку |
да ничего говорить не нужно, ему самому будет приятно ввести пароль, зайти в админку, и заполнять данные, недумая о том, в какую колонку нужно вставить цифру, а в какую текст, чтоб ошибки не выбило.
Спустя 6 минут, 21 секунда (15.10.2010 - 13:31) LRCenter написал(а):
Да есть админка, просто параллельно есть возможность редактировать базы, бывают ситуации когда это намного удобней.
Спустя 1 месяц, 18 дней, 2 часа, 30 минут, 54 секунды (3.12.2010 - 17:01) Feefoktyren написал(а):
и вот большой и жирный минус последнего варианта --
не на всех серверах работает strtotime- да и еще бывает разница от метода исчесления(1901 или 1970гг)
не на всех серверах работает strtotime- да и еще бывает разница от метода исчесления(1901 или 1970гг)
_____________
Меньше кода - меньше багов ©