将时间戳从24小时更改为12小时,并通过jQuery追加

时间:2014-06-13 09:15:56

标签: javascript php jquery mysql ajax

我有一张包含许多时间戳的表格,我使用查询检测到了最繁忙的小时

    $query = 'SELECT hour(date) AS h FROM bike_main GROUP BY h ORDER BY count(*) DESC LIMIT 1';
    $result = mysql_query($query);
    $row = mysql_fetch_assoc($result);

并输出:

<h3 id="hour"><?php echo $row['h']; ?></h3>
<p>is the busiest hour</p>

这只返回“17”,我想要返回的是5-6PM。我尝试过使用:

if ($('#hour').val() == '17') {
$(this).val('5 - 6PM');
} else {
    console.log('hour not logged');
}

控制台每次都记录“未记录小时”,而我的JS包含在$(document).ready包装器中。

编辑:此问题已得到解决。我没有尝试使用非常长的if / else语句;

for (var hour = 1; hour < 13; hour++) {
    var nextHour = hour+1;
    if($('.hour').text() == hour) {
        $(this).val(hour + '-' + nextHour + ' AM');
    }
}

但这似乎不起作用。

4 个答案:

答案 0 :(得分:1)

使用.text()代替.val()

if ($('#hour').text() == '17') {
        $('#hour').text('5 - 6PM');
} else {
    console.log('hour not logged');
}

答案 1 :(得分:0)

试试这个

 if ($('#hour').text() == '17') {
        $('#hour').text('5 - 6PM');
    } else {
        console.log('hour not logged');
    }

答案 2 :(得分:0)

您甚至可以使用http://us3.php.net/manual/en/function.date.php

通过PHP格式化日期/时间
$query = 'SELECT date FROM bike_main GROUP BY h ORDER BY count(*) DESC LIMIT 1';
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);

in html

<h3 id="hour"><?php echo date('ga', $row['date']); ?></h3>
<p>is the busiest hour</p>

答案 3 :(得分:0)

试试这个:

if (document.getElementById('hour').innerHTML == '17') 
{
    document.getElementById('hour').innerHTML = '5 - 6PM';
} 
else {
    console.log('hour not logged');
}