经过大量的谷歌搜索,我找不到答案。我想在mysql中创建一个列,用于存储创建行的时间为HH:MM:SS
我正在建一个聊天室,而且该表目前有一个消息列和id
我不想使用时间戳或日期时间,因为我不想让日期月份等等只有小时分和秒。
我试过时间,但总是说时间是00:00:00
编辑:我想我希望能够只收听时间戳上的时间。
我试过了echo '<div><p>User@' . substr($value['Time'], 11) . '->' . $value['message'] . '</p></div>';
但它不起作用。
答案 0 :(得分:0)
如果要在MySQL中使用常规TIMESTAMP
字段,请先创建字段。
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
设置完场后,您可以不管它。当您插入记录传递null
作为值时,它将默认为当前时间。更新记录时,将调整时间。
要从TIMESTAMP
字段获取时间,您需要运行您的选择查询并获取结果。为了便于说明,这看起来如下所示:
//Integrate this into your existing code
$result = mysqli_query($connection, "SELECT LastAccessed FROM YourTable"); //get only the time field for this example
$row = mysqli_fetch_array($result);
$time = new DateTime($row['LastAccessed']); //The constructor accepts the time information as an argument
echo $time->format("H:i:s"); //This is your time information.
由于您现在有一个TIMESTAMP
字段,不仅数据库负责使用正确的时间更新它,而且您始终可以修改$time->format()
方法的参数以生成包含时间数据的字符串以各种不同的方式。
时间戳被抽象化,您的应用程序获得灵活性。
双赢,对吧?
在MySQL中创建一个char(8)
列,然后将调用的输出发送到:
date("H:i:s");
尽管在MySQL中使用时间戳字段是最佳的,但考虑到可以在记录与之交互时更新它。您没有拥有来使用整个时间戳。