Как анализировать временную строку с разными локалями?

#javascript #datetime #locale

#javascript #дата и время #locale

Вопрос:

Я хочу разделить временную строку на часы, минуты и ampm отдельно.

Когда я попробовал это для английского времени, нанизанного на приведенный ниже код :

 var time = "3:20 PM"; 
var patternParsed = time.replace(new RegExp("(\W", "g")," ").split(" ");
 

o / p для patternParsed равно 3,20, PM

но подобное я хочу сделать для корейской временной строки

Когда я пытаюсь использовать приведенное выше регулярное выражение для корейской временной строки, оно не работает

 var koreanTime = new Date().toLocaleTimeString('ko-KR');
document.writeln("nKoreanTime  : " koreanTime);
var patternParsed = koreanTime.replace(new RegExp("(\W", "g")," ").split(" ");
document.writeln("nparsed pattern : " patternParsed);
 

Может кто-нибудь, пожалуйста, помочь мне с этим, как я могу разделить временную строку разных локалей?

Ответ №1:

Чтобы получить стандартизированный вывод hours,minutes,[AM|PM] , учет локали добавляет ненужную сложность, если у вас уже есть объект Date, вы можете использовать его для генерации значения:

     var time = new Date();
    if (time.getHours() < 12) {
     var patternParsed = time.getHours()   ","   time.getMinutes()   ",AM";
    } else {
     var patternParsed = (time.getHours() - 12)   ","   time.getMinutes()   ",PM";
    }
    var koreanTime = time.toLocaleTimeString('ko-KR');
    document.writeln("nKoreanTime : "   koreanTime   "nparsed pattern : "   patternParsed);