|
|
|
| Грубо говоря пишу запись в БД
Поля такие
Пишу так
$today = date("d.m.y H:m:s");
if (mysql_query("INSERT INTO `guestbook` VALUES ('', '$name', '$mail', '$msg', '$today');"))
|
Но в базу пишется почему то такая дата - 2016-09-13 18:09:41
Собственно где-то читал что можно средствами MySQL писать дату, не могли бы подсказать как правильней было бы писать дату в базу при условии что дата нужна типа
Число.Месяц.Год Час:Минута:Секунды
Дамб таблице на всякий случай
CREATE TABLE IF NOT EXISTS `guestbook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`e-mail` text NOT NULL,
`msg` text NOT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
|
| |
|
|
|
|
|
|
|
для: Panker
(16.09.2013 в 18:40)
| | Формат записи даты в базу и должен быть такой - Y-m-d H:i:s
А при выводе можете ее форматировать как душе угодно либо средствами MySQL, либо РНР. | |
|
|
|
|
|
|
|
для: confirm
(16.09.2013 в 18:57)
| | ок, большое спасибо, попробовал записать как вы сказали "Y-m-d H:i:s" все сработало
тогда простите, не подскажите как мне теперь выводить в том формате, который нужен мне?
а именно "d.m.y H:m:s"
То есть теперь у меня в базе записано - 2013-09-16 19:09:51, а мне нужно 16.09.2013
Неужели нет варианта изменит формат даты в самой mysql? | |
|
|
|
|
|
|
|
для: Panker
(16.09.2013 в 19:12)
| | Средствами MySQL так
DATE_FORMAT(`date`, '%e.%m.%Y') `date`
|
| |
|
|
|
|
|
|
|
для: confirm
(16.09.2013 в 19:36)
| | прошу прощения, а это когда использовать, при выводе или при записи?
Если при записи то как?
Если раньше я писал -
if (mysql_query("INSERT INTO `guestbook` VALUES ('', '$name', '$mail', '$msg', '$today');"))
|
То как теперь писать?
Если при выводе то как писать? не поможете? Раньше я примерно так выводил
$ath = mysql_query("select * from guestbook;");
if($ath)
{
$author = mysql_fetch_array($ath);
echo "<br>айди = ".$author['id']."<br>";
echo "имя = ".$author['name']."<br>";
echo "e-mail = ".$author['e-mail']."<br>";
echo "сообщение = ".$author['msg']."<br>";
echo "дата = ".$author['date']."<br>";
}
else
{
echo "<p><b>Error: ".mysql_error()."</b></p>";
exit();
}
|
как теперь выводить что бы с нужно мне датой было? | |
|
|
|
|
|
|
|
для: Panker
(16.09.2013 в 19:42)
| | Я же вам раньше писал - при записи формат даты должен быть Y-m-d H:i:s
А при выводе можно ее получить в любом другом представлении
Вы спросили как
Я написал вот так
Значит когда показанное мною вам нужно использовать?
$ath = mysql_query("select *, DATE_FORMAT(`date`, '%e.%m.%Y') `date` from guestbook");
|
| |
|
|
|
|
|
|
|
для: Panker
(16.09.2013 в 18:40)
| | Средствами MySQL:
mysql_query("INSERT INTO `guestbook` VALUES ('', '$name', '$mail', '$msg', NOW())")
|
| |
|
|
|
|
|
|
|
для: Panker
(16.09.2013 в 18:40)
| | Можно и так
<?php
$today = date("d.m.Y H:i:s");
function php_to_sql($val){
list($date, $time) = explode(" ", $val);
list($d,$m,$y) = explode(".", $date);
return $y.'-'.$m.'-'.$d.' '.$time;
}
function sql_to_php($val){
list($date,$time) = explode(' ',$val);
list($y,$m,$d) = explode('-', $date);
return $d.'.'.$m.'.'.$y.' '.$time;
}
?>
|
| |
|
|
|
|
|
|
|
для: Jovidon
(18.09.2013 в 13:41)
| | Тогда уж как-нибудь так:
<?php
$custom_date = '03.07.2011 12:33:00';
$current_mysql_formatted_date = strftime('%F %T');
$custom_mysql_formatted_date = strftime('%F %T', strtotime($custom_date));
echo $current_mysql_formatted_date . "\n" . $custom_mysql_formatted_date;
|
| |
|
|
|
|
|
|
|
для: Igorek
(18.09.2013 в 14:37)
| | Лучше тогда так:
date('Y-m-d H:i:s', strtotime($custom_date));
Иначе при отладке на Win можно вообще ничего не получить. | |
|
|
|