我想根据数值来改变数字的生成方式。默认值在unix时期,我将它们转换为echo中的小时数。
$clock = time();
$sql = "SELECT unix FROM things";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo round(($row["unix"] - $clock)/3600) .' hours from now.;
现在它正常工作,并且它正确地显示了几个小时,但我想根据unix时间戳显示的内容来更改它,这是它变得棘手的地方。 我希望如果unix秒小于3600则将“小时”更改为分钟,如果小于60则将其更改为秒,如果大于86400则更改为几天。我该怎么做?
答案 0 :(得分:0)
你可以把你的小心脏窝起来。
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
//DONT NEED $ SIGN WHEN ROUNDING!!!!
$time = round(($row["unix"] - $clock / 3600);
if ($time <= 60) {
echo $time . ' seconds from now.';
} elseif (($time > 60) && ($time <= 3600)) {
echo $time . ' hours from now.';
} else {
// You get the idea.
}
}
}
答案 1 :(得分:0)
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$time = round(($row["unix"] - $clock / 3600);
if ($time <= 60) {
echo $time . ' seconds from now.';
} elseif (($time > 60) && ($time <= 86400)) {
echo $time . ' hours from now.';
} else {
echo $time . ' days from now.';
}
}
}