Javascript 以分钟为单位计算两次之间的差异

Javascript 以分钟为单位计算两次之间的差异,javascript,jquery,Javascript,Jquery,如何计算两个时间段之间的差异,例如(服务器时间=04:30 pm和02:30 pm),并使用jquery和javascript在分钟内返回它,例如90分钟。服务器时间和订单时间是12小时格式,而不是24小时格式 如果您能保证它们始终采用这种格式,那么这里有一个简单的解决方案: function humanReadableToMinutes(time) { var parts = time.split(/ |:/); return (parts[2] == 'pm' * 12 *

如何计算两个时间段之间的差异,例如(服务器时间=04:30 pm和

02:30 pm

),并使用jquery和javascript在分钟内返回它,例如90分钟。服务器时间和订单时间是12小时格式,而不是24小时格式

如果您能保证它们始终采用这种格式,那么这里有一个简单的解决方案:

function humanReadableToMinutes(time)
{
    var parts = time.split(/ |:/);

    return (parts[2] == 'pm' * 12 * 60) 
        + parseInt(parts[0], 10) * 60 
        + parseInt(parts[1], 10);
}

说明:

  • var parts=time.split(/|:/)我们将
    02:30 pm
    分为三部分:
    02
    30
    pm

  • return(parts[2]=='pm'*12*60)+parseInt(parts[0],10)*60+parseInt(parts[1],10)包含3个操作数:

    * (parts[2] == 'pm' * 12 * 60) --- adds additional 12 hours if it's "pm"
    * parseInt(parts[0], 10) * 60 - takes hours fraction extracted and converts it to minutes
    * parseInt(parts[1], 10) - minutes fraction
    

  • PS:此解决方案不能准确地处理
    12am
    12pm
    ,因此这是OP的一个家庭作业

    它是否始终采用
    HH:mm am
    格式?服务器时间是如何返回的?一根绳子?JSON格式的日期时间?它是否存储在变量中?你能显示检索它的代码吗?时间是HH:mm am/pm格式,应该以分钟00:60/60分钟返回Matt Johnson,我希望时间是12小时格式,而不是24小时服务器时间我只使用var CurrentDate=new Date();你能给我解释一下你的密码吗。因为我想试着去理解它,顺便说一句,我想听听下层选民的批评:-)@gjman2:现在清楚了吗?谢谢@zerkms,你就是那个人。@gjman2:见PS部分:-)