powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Текущая дата
25 сообщений из 31, страница 1 из 2
Текущая дата
    #33542318
ADMRep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
$Date=date;
$query="insert into Customers values ('', '', '$FIO', '$pass', '$Qestion','$Ansver','$e','$telephone','$Rassylka','$Date')";
Нужно присвоить переменной текущую дату, когда выполняю код вышеуказанный, то в базу добавляется 0000-00-00... Почему?
...
Рейтинг: 0 / 0
Текущая дата
    #33542331
topa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй @LocTime=localtime;
$Loctime[3] - это число
$Loctime[4] - номер месяца, нумерация с нуля
$Loctime[5] - год. Отсчет идет с 1900, т.е. если год 2006, то $LocTime[5] будет равен 106
...
Рейтинг: 0 / 0
Текущая дата
    #33542372
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше не пользовать дату в таком виде.
Обьяви в БД поле для даты типа integer
и присваевай значение в секундах от 1970 года.
потом если нужно конвертируй в тот вид что тебе нужен.
...
Рейтинг: 0 / 0
Текущая дата
    #33542390
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
vivлучше не пользовать дату в таком виде.
Обьяви в БД поле для даты типа integerКакого хрена? Дату надо хранить в специальнопредназначенном для этого формате, а не выдумывать всякую ерунду ещё на этапе проектирования.
...
Рейтинг: 0 / 0
Текущая дата
    #33542393
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
ADMRepПочему?По качану.
http://phpfaq.ru/debug + документация по используемой БД.
...
Рейтинг: 0 / 0
Текущая дата
    #33542635
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* vivлучше не пользовать дату в таком виде.
Обьяви в БД поле для даты типа integerКакого хрена? Дату надо хранить в специальнопредназначенном для этого формате, а не выдумывать всякую ерунду ещё на этапе проектирования.
как показала практика это самый оптимальный вариант, не спорь просто делай
...
Рейтинг: 0 / 0
Текущая дата
    #33542870
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два варианта:
Код: plaintext
$Data = date("d.m.Y H:i:s");
Код: plaintext
$query="insert into Customers values ('', '', '$FIO', '$pass', '$Qestion','$Ansver','$e','$telephone','$Rassylka',NOW())";

В первом случае мы сами создаем текущую дату самостоятельно. Во втором случае за нас это делает MySQL.
...
Рейтинг: 0 / 0
Текущая дата
    #33544108
ADMRep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestДва варианта:
Код: plaintext
$Data = date("d.m.Y H:i:s");
Код: plaintext
$query="insert into Customers values ('', '', '$FIO', '$pass', '$Qestion','$Ansver','$e','$telephone','$Rassylka',NOW())";

В первом случае мы сами создаем текущую дату самостоятельно. Во втором случае за нас это делает MySQL.
Пасибо!!!
...
Рейтинг: 0 / 0
Текущая дата
    #33544407
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viv * vivлучше не пользовать дату в таком виде.
Обьяви в БД поле для даты типа integerКакого хрена? Дату надо хранить в специальнопредназначенном для этого формате, а не выдумывать всякую ерунду ещё на этапе проектирования.
как показала практика это самый оптимальный вариант, не спорь просто делай
Интересная практика. Можно поподробнее?)
...
Рейтинг: 0 / 0
Текущая дата
    #33544748
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
vivкак показала практика это самый оптимальный вариант, не спорь просто делайНихренова себе :)
"Не спорь, просто делай" - это совет для имбицилов. А не аргументация.
...
Рейтинг: 0 / 0
Текущая дата
    #33547950
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl
Интересная практика. Можно поподробнее?)
все просто.
вставляешь не NOW()
а time()
а лучше mktime(0, 0, 0, date("m", time()), date("d", time()), date("Y", time()))
понимаю длиновато зато удобно.
Особенно работать со всякими календарями на яваскрипте где значение даты передаваемое скрипту тоже хранится в таком виде.
...
Рейтинг: 0 / 0
Текущая дата
    #33548008
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и в чём бонус великий этого?
...
Рейтинг: 0 / 0
Текущая дата
    #33548302
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlНу и в чём бонус великий этого?
так ты точно будешь уверен что у тебя не возникнет проблем с конвертациями и прочей ерундой
...
Рейтинг: 0 / 0
Текущая дата
    #33548368
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>вставляешь не NOW()
>вставляешь не NOW()а time()
>а лучше mktime(0, 0, 0, date("m", time()), date("d", time()), date("Y", time()))

Если нужно UNIX-время, то есть функция в MySQL - UNIX_TIMESTAMP().
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Текущая дата
    #33548966
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vivкак показала практика это самый оптимальный вариант, не спорь просто делай

Напиши ка мне скрипт для получения всех пользователей зарегенных в 2005 году... если у тебя поле типа INT 11... а я посмеюсь...
...
Рейтинг: 0 / 0
Текущая дата
    #33549548
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет, в общем-то, несложно, достаточно посчитать юниксовую метку времени для 00:00:00 1 января 2005 года и 23:59:59 31 декабря 2005 года, после чего в запросе сказать, что чиселка лежит BETWEEN, но в целом, смысла в такой деятельности немного.
...
Рейтинг: 0 / 0
Текущая дата
    #33549555
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот когд надо будет выбрать всех пользователей зарегестрированных в феврале - начнется праздник да?
...
Рейтинг: 0 / 0
Текущая дата
    #33550877
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestА вот когд надо будет выбрать всех пользователей зарегестрированных в феврале - начнется праздник да?
какой праздник?????
поподробней пожалуста
...
Рейтинг: 0 / 0
Текущая дата
    #33551004
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкакой праздник?????
поподробней пожалуста
Высокосный/невысокосный год.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Текущая дата
    #33551400
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага... пока вычислишь все интервалы - свихнешься.

Unix удобно использовать в том случае, если есть завязки на текущее время - время посещения сайта, время последней сессии.
DateTime - когда необходимо делать выборки по этому полю...
...
Рейтинг: 0 / 0
Текущая дата
    #33551803
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!c авторкакой праздник?????
поподробней пожалуста
Высокосный/невысокосный год.
----------------------------------------
Артисты не приехали, приехали цыгане
не вижу проблемы.
...
Рейтинг: 0 / 0
Текущая дата
    #33552075
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vivне вижу проблемы.
Скрипт в студию.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Текущая дата
    #33552177
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
4m@t!cСкрипт в студию. http://dev.mysql.com/doc/mysql/ru/Date_and_time_types.htmlMySQL автоматически преобразует значение, имеющее тип даты или времени, в число, если данная величина используется в числовом контексте, и наоборот. http://dev.mysql.com/doc/refman/4.0/ru/date-and-time-functions.html#id2756787MONTH(date)
Возвращает порядковый номер месяца в году для аргумента date в диапазоне от 1 до 12Однако это ни сколько не противоречит моим словам о том, что даты нужно хранить в специальнопредназначенном для этого формате.
...
Рейтинг: 0 / 0
Текущая дата
    #33552222
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!c vivне вижу проблемы.
Скрипт в студию.
----------------------------------------
Артисты не приехали, приехали цыгане
у тебя есть поле в таблице типа интегер
ты вставляешь туда текущую дату
mktime(0, 0, 0, date("m", time()), date("d", time()), date("Y", time()))
тоесть даже если сейчас высокосный год, то все равно у тебя идет отсчет от 1го января 1970 года в секундах
и если тебе нужно сделать выборку в промежутке
ты берешь первую дату
one_data = mktime(0, 0, 0, 1, 1, 2005);
потом берешь вторую дату
two_data = mktime(0, 0, 0, 1, 1, 2006)
получаешь нужный период
строешь запрос


select * mytable
WHERE my_field_data >= one_data
AND my_field_data <= two_data

и нет никакой проблемы с высокосным не высокосным годами
...
Рейтинг: 0 / 0
Текущая дата
    #33552476
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*
http://dev.mysql.com/doc/refman/4.0/ru/date-and-time-functions.html#id2756787
MONTH(date) Возвращает порядковый номер месяца в году для аргумента date в диапазоне от 1 до 12
аргумент date - это не юникс время. Понятно, что есть UNIX_TIMESTAMP(date), но цитата
авторMySQL автоматически преобразует значение, имеющее тип даты или времени, в число, если данная величина используется в числовом контексте, и наоборот. имеет к посту не самое близкое отношение.
Говорится о том, что числовой контекст это строка например "19990213". где 02 воспринимается, как месяц. Попробуйте
Код: plaintext
1.
2.
SELECT MONTH( 19990213 )
и
SELECT MONTH( 1999 )
.

vivу тебя есть поле в таблице типа интегер
Я согласен с Damnedest . Зацепился за топик, потому что прочел пост с категоричным призывом
vivкак показала практика это самый оптимальный вариант, не спорь просто делай
Разницы практически никакой. Например, У меня есть задача вывести всех пользователей, кто родился 29 февраля. Для того, что бы ответить на этот вопрос вам придется преобразовать Юникс-время в человекопонятное. Т.е. что-то вроде:
Код: plaintext
1.
SELECT * FROM `users` WHERE DATE_FORMAT(FROM_UNIXTIME(`users`.`birth`), '%m%d')='0229'
При варианте в формате DATE запрос на одну операцию проще.
Код: plaintext
SELECT * FROM `users` WHERE DATE_FORMAT(`users`.`birth`, '%m%d')='0229'
Если пользователей будет достаточно много, то выгодней пользовать формат DATE. Плюс нет смысла хранить время рождения человека в секундах, т.е. для каждого случая свой формат данных - о чем и заметил *.



----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Текущая дата
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]