Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
军事和AM/PM onclick之间的Javascript更改时间_Javascript_Jquery_Ruby On Rails 3_Time - Fatal编程技术网

军事和AM/PM onclick之间的Javascript更改时间

军事和AM/PM onclick之间的Javascript更改时间,javascript,jquery,ruby-on-rails-3,time,Javascript,Jquery,Ruby On Rails 3,Time,我有一个Rails应用程序,在应用程序布局中显示实时时钟。我正在使用此代码使其工作: <div id="time" class="time_display"></div> <script type="text/javascript"> function checkTime(i) { if (i < 10) { i = "0" + i; } return i; } function startTime() {

我有一个Rails应用程序,在应用程序布局中显示实时时钟。我正在使用此代码使其工作:

<div id="time" class="time_display"></div>
<script type="text/javascript">
function checkTime(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    // add a zero in front of numbers<10
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
    t = setTimeout(function () {
        startTime()
    }, 500);
}
startTime();
</script>
我想能够做的是,让用户可以选择在军事时间的实时时钟和常规的AM/PM时间之间切换,包括AM/PM,但单击div

我做了一些搜索,但没有找到任何效果太好的。我愿意接受任何可能有人提出的解决方案,无论是JS还是jQuery

任何帮助都将不胜感激。如果我的问题不清楚,请告诉我。

真的:

var ampm = 'am';
if(hours > 11){
  ampm = 'pm';
  if(hours > 12)hours = hours-12;
}
if(hours === 0)hours = 12;
此外,您还可以执行以下操作:

today.toLocaleString().split(',')[1];

这是代码。它只会在下一个滴答声时更新,但如果您愿意,您可以设法修复它

函数检查时间i{ 如果我<10{ i=0+i; } 返回i; } 函数起始时间{ var today=新日期; var h=今天。getHours; var m=today.getMinutes; var s=today.getSeconds; var ampm=h>=12?'pm':'am'; //在数字前加一个零