如何计算两次之间的差异,例如(服务器时间= 04:30 pm和<p id="orderTime">02:30 pm</p>
),并使用jquery和javascript以分钟为单位返回,例如90分钟。服务器时间和订单时间为12小时格式,而不是24小时。
答案 0 :(得分:1)
如果你能保证他们总是那种格式,那么这是一个简单的解决方案:
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
分为3个部分: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的作业