Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Базы данных (MySQL, PostgreSQL, ODBC, ...) _ Тип данных в Mysql

Автор: satana 18.5.2007, 2:24

Здраствуйте, в базе MySQL я создавал таблицы для хранения даты и времени так.

CREATE TABLE date_time (
date VARCHAR(8) NOT NULL,
time VARCHAR(10) NOT NULL)
$date = date("d.m.Y");
$time = date("H:i:s");
INSERT INTO date_time VALUES('$date', '$time');
А потом просто считывал и выводил
echo $date;
echo $time;

Конечно такое хранение времени и даты неправильно, но подругому я не умею. Сегодня лазия по phpMyAdmin я увидел типы:
DATE
TIME
TIMESTAMP
DATETIME и еще парочка...

По названию несложно догадатся что они предназначены для хранения различных типов дат и времени, как мне показалось более всего подходит DATETIME - подскажите как им пользоваться, в каком виде данные записываются, и нужно ли их потом преобразовывать для вывода.

Автор: sashkovishe 18.5.2007, 8:11

Цитата(satana @ 18.5.2007, 4:24) *

CREATE TABLE date_time (
date VARCHAR(8) NOT NULL,
time VARCHAR(10) NOT NULL)
$date = date("d.m.Y");
$time = date("H:i:s");
INSERT INTO date_time VALUES('$date', '$time');
А потом просто считывал и выводил
echo $date;
echo $time;

Конечно такое хранение времени и даты неправильно, но подругому я не умею.

Почему не правильное?! Очень даже верная запись...
Я например сам лично предпочитаю работать так т.е. с обычным int(11) и тебе советую, записываешь туда date() или time(), так удобнее будет... форматы можно менять и выводить как ты хочешь...

Автор: sashkovishe 18.5.2007, 8:25

А вообще, DATETIME поддерживаемый диапазон: от 1000-01-01 00:00:00 до 9999-12-31 23:59:59. Mysql отображает значения DATETIME в формате YYYY-MM-DD HH:MM:SS ... Но как я уже сказал, лучше по моему использовать вышесказанное...

Автор: gid 18.5.2007, 8:29

Помоему тоже обычный int(11) и php-функция time() намного удобней и лучше, и нет никакой привязки к временной зоне.

Invision Power Board ()
© Invision Power Services ()