【发布时间】:2019-03-08 13:09:56
【问题描述】:
所以我有一个非常基本的表单设置,一旦提交,我就会运行这个查询
$insert = "INSERT INTO data(name, time, time_end)
VALUES ('".$name."', '".time()."', '".time()."' + 176400) ;";
mysqli_query($conn, $insert);
我在头文件中提到了在 PST 中显示时间
date_default_timezone_set('America/Los_Angeles');
$time = time();
为了在 PST 中显示来自“数据”的所有信息,我将这段代码放在差异页面中
$session = "SELECT * from data";
$session_query = mysqli_query($conn, $session); ?>
<table>
<tr>
<th>Name</th>
<th>Started at</th>
<th>Ending at</th>
</tr>
<?php
while($data = mysqli_fetch_assoc($session_query)) { ?>
<tr>
<th><?php echo $data['name']; ?></th>
<th><?php
$start = $data['time'];
echo date("F j, Y, g:i a",$start); ?></th>
<th><?php
$end = $data['time_end'];
echo date("F j, Y, g:i a",$end); ?></th>
</tr>
<?php
}
?>
</table>
<?php } ?>
这似乎只有在我添加低于或 48 小时之前才能正常工作。 就像我在插入查询中添加 +172800 一样,它确实显示
March 7, 3:30 am - March 9, 3:30 am
但是每当我尝试在插入查询中添加超过 48 小时(以秒为单位)时,它会不断增加一个额外的小时,就像我添加 72 小时时一样
March 7, 3: 30 am - March 10, 4:30 am
所以我不明白为什么它显示为 3 月 10 日凌晨 4:30 而不是凌晨 3:30(如额外一小时),有人可以告诉我如何解决它。
【问题讨论】:
-
您知道添加“172800”并不是很准确。我建议改用“+ 2 天”。增加秒数时,夏令时等可能会搞砸
-
您的问题中没有我们可以帮助您的代码。添加一个我们可以使用的示例
-
但是我在mysql中将time和time_end设置为INT类型,如果我使用“+2天”就不行了?
-
这就是 strtotime 的用途。
-
那么我该如何将这些数据类型更改为(从 int)+2 天才能工作?