繁体   English   中英

在Javascript中将时间戳从上午/下午转换为24小时

[英]Convert timestamp from am/pm to 24-hour in Javascript

我正在使用 jquery 时间选择器。 在用户端,时间需要显示为 am/pm 格式(上午 10:30 或下午 5:30)。 我需要将该值附加到 datepicker 值。 例如,如果 datepicker 值为 07/08/2015,则最终值应为 07/08/2015 17:30。 这里的问题是将下午 5:30 转换为 17:30。 如何用javascript做到这一点

您可以编写自己的转换函数,通过添加 12 小时来转换带有“pm”的时间字符串,如下所示:

var convertTimeStringTo24Hours = function(timeString) {
  if (timeString.match(/pm$/)) {
    var match = timeString.match(/([0-9]+):([0-9]+)pm/);
    var hours = parseInt(match[1]) + 12;
    var minutes = match[2];
    return hours + ':' + minutes;
  } else {
    return timeString.replace('am', '');
  }
};

如果您想从 12 小时制 (hh:mm:ssPM/AM) 转换为 24 小时制,那么您可以使用以下

function timeConversion(s) {
    const timeString = s.toString()
    if (timeString.match(/PM$/)) {
        var match = timeString.match(/([0-9]+):([0-9]+):([0-9]+)PM/)
        var hours = parseInt(match[1]) + 12;
        var minutes = match[2];
        var second = match[3]; parseInt(match[1])
        if (parseInt(match[1]) === 12) {
            return parseInt(match[1])+ ':' + minutes + ':' + second;
        } else {
            return hours + ':' + minutes + ':' + second;
        }
    } else {
        var match = timeString.match(/([0-9]+):([0-9]+):([0-9]+)AM/)
        var hours = parseInt(match[1]);
        var minutes = match[2];
        var second = match[3];
        if (hours === 12) {
            return '00:' + minutes + ':' + second;
        } else {
            return timeString.replace('AM', '');
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM