Chrome Javascript Дата AM |ВЕЧЕРА - PullRequest
0 голосов
/ 27 января 2012

Я хотел бы получить этот формат:

2:18:00 pm

Используя приведенный ниже пример кода с w3Schools.com, я могу получить правильные результаты в IE и FireFox. Но когда дело доходит до Chrome, я получаю 24-часовую версию часов, где она просто отображается следующим образом:

14:18:00

В FF

    new Date().toLocaleTimeString()
    //   2:18:00 pm

Ответы [ 3 ]

2 голосов
/ 22 июля 2013
function twoDigitPad(number) { 
    return ("0" + number).slice(-2);
}

function twelveHourTimeString() {
    var date = new Date();
    var hour = date.getHours();
    var min = twoDigitPad(date.getMinutes());
    var sec = twoDigitPad(date.getSeconds());
    var ampm = hour < 12 ? "am" : "pm";
    hour = hour % 12 || 12;  // convert to 12-hour format
    return hour + ":" + min + ":" + sec + " " + ampm;
}

date.getHours() возвращает целое число от 0 до 23, которое hour % 12 || 12 преобразуется в 12-часовой формат.

date.getMinutes() и date.getSeconds() каждый возвратцелое число, так что вам нужно обнулять эти значения, когда они меньше 10. Также возможно, hour.

0 голосов
/ 27 января 2012

Используйте следующий код JavaScript,

<script type="text/javascript">

var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var curr_sec = d.getSeconds();
if (curr_hour < 12)
   {
   a_p = "AM";
   }
else
   {
   a_p = "PM";
 }

document.write(curr_hour + ":" + curr_min + ":" 
+ curr_sec+ a_p);

</script>

o / p будет таким, как вы ожидаете, 2:18:00 PM

0 голосов
/ 27 января 2012

Надежная работа с датами в кросс-браузерной среде - это большая проблема в javascript - я бы использовал библиотеку DateFormat; http://blog.stevenlevithan.com/archives/date-time-format

тогда, как он отмечает на странице, вы можете назвать это так; dateFormat (теперь "h: MM: ss TT");

Есть несколько альтернатив, но этот кажется наиболее легким.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...