You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何正确为time_elapsed_string函数传入动态日期值?

解决方法:正确传递数据库日期给time_elapsed_string函数

你的问题出在嵌套了PHP标签——当你已经处于<?php ?>代码块内部时,不需要再用<?php ?>来输出变量,直接使用变量本身即可。

错误写法的问题

你之前的代码:

echo time_elapsed_string('<?php echo $row["tanggal"]; ?>', true);

这段代码会把字符串'<?php echo $row["tanggal"]; ?>'直接传给函数,而不是解析后的日期值(比如2013-05-01 00:22:35),因为PHP不会解析字符串内部的PHP标签。

正确的写法

直接将数据库取出的变量$row["tanggal"]作为参数传入函数即可:

<h4>di posisi sekarang:<br> <?php echo time_elapsed_string($row["tanggal"], true); ?></h4><br>

可选:更清晰的写法(推荐)

如果想让代码更易读,可以先把日期值存到单独的变量里,再传入函数:

<?php
// 先取出数据库日期
$post_date = $row["tanggal"];
// 确保日期格式符合函数要求(如果数据库返回格式不一致的话)
$formatted_date = date('Y-m-d H:i:s', strtotime($post_date));
?>
<h4>di posisi sekarang:<br> <?php echo time_elapsed_string($formatted_date, true); ?></h4><br>

额外注意事项

  • 确认$row["tanggal"]的格式确实是函数要求的YYYY-MM-DD HH:MM:SS格式,如果数据库返回的是时间戳或者其他格式,用strtotime()转换后再格式化(如上例)。
  • 确保time_elapsed_string函数已经正确定义在你的代码中,避免函数未找到的错误。

内容的提问来源于stack exchange,提问作者borneo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:10:11