如何计算两个时间之间的差异,例如(服务器时间=04:30 pm 和<p id="orderTime">02:30 pm</p>
)并以分钟为单位返回,例如使用 jquery 和 javascript 的 90 分钟。服务器时间和订单时间是 12 小时格式,而不是 24 小时格式。
问问题
1889 次
1 回答
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的功课
于 2013-06-25T02:32:34.783 回答