将GMT时间格式更改为24小时javascript

时间:2014-03-12 12:10:08

标签: javascript

我有GMT时间格式,我使用以下方法将其更改为本地浏览器时间:

var newDate = new Date(GMTFromat);
mytime= newDate.toLocaleString();

输出结果为:

3/12/2010 1:02:00 PM

现在我想在javascript中将12小时更改为24小时格式 例如:

3/12/2010 13:02:00 

有什么建议吗?

由于

3 个答案:

答案 0 :(得分:0)

enter code here它是SO link

的副本

以上链接中的代码:

function to24Hour(str) {

  var tokens = /([10]?\d):([0-5]\d):([0-5]\d) ([ap]m)/i.exec(str);

  if (tokens == null) { return null; }
    if (tokens[4].toLowerCase() === 'pm' && tokens[1] !== '12') {
      tokens[1] = '' + (12 + (+tokens[1]));
    } else if (tokens[4].toLowerCase() === 'am' && tokens[1] === '12') {
      tokens[1] = '00';
    }
  return tokens[1] + ':' + tokens[2] + ":" + tokens[3]; 
}

编辑:

var date = "3/12/2010 8:45:59 AM";
var dateTime = date.split(" ");
var datePart = dateTime[0];
var timePart = dateTime[1] + " " + dateTime[2];
timePart = to24Hour(timePart);

var finalDate = datePart + timePart;

答案 1 :(得分:0)

这可以通过多种方式完成,但我想只使用replace方法。你走了:

(new Date()).toLocaleString().replace(/(.+ )(\d+)(:.+)(\wM)/g, function replacer(match, p1, p2, p3, p4) {
    return p1 + (p4 === "PM" ? (12 + Number(p2)) : p2) + p3;
});

DEMO

答案 2 :(得分:-1)

$(function(){
    alert(
        moment("3/12/2010 1:02:00 PM", "M/DD/YYYY hh:mm:ss A").
            format("M/DD/YYYY HH:mm:ss")
    );
});

fiddle

这里有12个时钟系统的小 hh 和24个时钟系统的 HH