如何在MySQL/PHP中插入和读取时间/日期?
我想读的单日,月,年,而无需添加3个额外的MySQL行,这种格式(与PHP):如何在MySQL/PHP中插入和读取时间/日期?
day: 01
month: Jan, Feb, Mar..(first three letters)
year: 2011
这是桌子和PHP脚本,我现在使用:
我添加日期与PHP:
$query = "SELECT * FROM news";
$result = mysql_query ($query);
while ($row = mysql_fetch_assoc ($result)) {
echo $row['time'];
}
:
mysql_query("INSERT INTO news (...,`time`) VALUES (...'".date(d.".".m.".".Y)."');");
我读出来210
MySQL表:
news:
time(text):
"27.03.2011"
查询应该是:
mysql_query("INSERT INTO news (...,`time`) VALUES (...'".date(d.".".M.".".Y)."');");
M代替m给出了本月的3个字母的文本表示形式。
用得到它:
while ($row = mysql_fetch_assoc ($result)) {
echo date('d', strtotime(str$row['time']));
echo date('M', strtotime(str$row['time']));
echo date('Y', strtotime(str$row['time']));
}
了解更多关于:
thnaks。那是我正在寻找的时间配置;) – JonasT
你可以做到这一点在PHP中,检查strftime function或选择一些东西使用像
SELECT DAY(date) as day, MONTH(date) as month, YEAR(date) as year FROM table
,并在PHP中,你会acccess它作为$结果[ '天' ]。 $ result ['month']等SELECT查询中的“日期”当然是存储日期的列的名称。我建议的strftime
您可以使用MONTH(),DAY()年()MySQL函数,即
SELECT MONTH(`time`) AS `month`, DAY(`time`) AS `day`, YEAR(`time`) AS `year` FROM `news` [...]
感谢您的MySQL查询:) – JonasT
SELECT *, substring(1,2) as day, substring(4,2) as month, substring(7) as year FROM table
你也可以(也应该)使用date
表格式,使用DAY()
,MONTH()
,YEAR()
功能
你应该在你的MySQL表来使用DATETIME
列。然后,MySQL负责以自己的内部格式存储日期,并且可以以您需要的任何格式检索它。
插入当前日期,你可以简单地
INSERT INTO news (...,`time`) VALUES (...,NOW())
要在你希望的格式检索,使用
SELECT DATE_FORMAT(`time`, '%d.%b.%Y');
我很困惑,为什么你不只是使用MySQL的内置日期/时间类型之一,如日期? MySQL的内部日期是Y-m-d,而不是d.m.Y.此外,你使用'date()'不正确 - 日期代码是在一个字符串中,所以对于这个(我不推荐,只是纠正你的代码),它会是'date('d.m.Y')'。但没有理由这样做。 – Andrew