gpt4 book ai didi

php - 从 mysql 表格式化 PHP time()

转载 作者:行者123 更新时间:2023-11-29 01:01:01 26 4
gpt4 key购买 nike

我正在创建存储在 MySQL 数据库中的评论。

我正在记录 php 时间函数 time() 作为评论发布。这样它就会显示一条消息,例如……“评论……4 秒前发布”,如果我在 2 分钟后刷新页面,它会显示“评论……2 分钟前发布”

下面是我将 time() 与其他数据一起输入数据库的方式:

$date=time();

// Insert data into mysql
$sql="INSERT INTO testimonials (username, comment, date)
VALUES ('$username', '$comment', '$date')";

现在...我像这样获取数据:

while ($row = mysql_fetch_row($result) )
{
echo "<b>Random Comment</b></br>";
echo ("<p>\n> $row[1]"); //comment
echo ("</br>-$row[0]</p>"); //name
echo ("</br>$row[2]"); //date

我服务器上的示例输出是:

Random Comment

This is the most awesome comment thing ever!!!!

-Kyle

1278905319

如何将时间“1278905319”转换为可读格式,例如“4 秒前发布”或处理秒、分钟、小时、天、周、月、年的格式?

PHP 的做法是否错误?我阅读了有关 MySQL 时间戳的信息,但我不了解它或如何让它在我的案例中发挥作用。

所以我的主要问题是,如何将时间格式化为可读的输出时间。 “2 秒前”

谢谢。 =)

最佳答案

首先,让 MySQL 使用自动更新的时间戳字段为您插入日期:

CREATE TABLE `table_a` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255),
`comment` TEXT,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;

这样,您无需担心从 PHP 代码插入日期,如果您从其他地方进行任何测试 - 例如,从 MySQL 客户端,日期仍会正确插入。

您还应该使用 PHP DateTime Class (需要 PHP 5.3.0 或更高版本),因为它使处理日期和时间变得非常简单。下面是从数据库中获取一些信息并返回格式化时间间隔的示例:

$result = $mysqli->query(
'SELECT ' .
'`id`, ' .
'`username`, ' .
'`comment`, ' .
'`date`, ' .
'NOW(), ' .
'FROM table');

$row = $result->fetch_assoc();

print_r($row);
Array
(
[id] => 1
[username] = 'Fred'
[comment] = 'My first post'
[date] => 2009-09-28 07:08:12
[now] => 2010-07-12 08:47:03
)

$now = new DateTime($row['now']);
$post = new DateTime($row['date']);
$interval = $post->diff($now);
echo $interval->format('%m months, %d days, %d days, %h hours, %m minutes, %s seconds');

// 9 months, 14 days, 14 days, 1 hours, 9 minutes, 51 seconds

您可以使用 DateInterval::format 格式化时间间隔参数。通过让 MySQL 返回 NOW(),您可以确保避免应用服务器(运行 PHP 的服务器)与数据库服务器之间出现任何时间差异。

关于php - 从 mysql 表格式化 PHP time(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3226524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com