function dateFmt(fmt,date)
{
var o = {
"M+" : date.getMonth()+1,
"d+" : date.getDate(),
"h+" : date.getHours(),
"m+" : date.getMinutes(),
"s+" : date.getSeconds(),
"q+" : Math.floor((date.getMonth()+3)/3),
"S" : date.getMilliseconds()
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
var now = new Date();
var fleet1Speed = 1250;
var fleet2Speed = 2000;
var distance = 490.27;
var fleet1TimeRequired = (distance / fleet1Speed) * 60 * 2.8;
var fleet2TimeRequired = (distance / fleet2Speed) * 60 * 2.8;
var tmp1 = fleet1TimeRequired.toString().split(".");
var tmp2 = fleet2TimeRequired.toString().split(".");
var m1 = parseInt(tmp1[0]);
var m2 = parseInt(tmp2[0]);
var s1 = Math.round(parseFloat("0." + tmp1[1]).toFixed(4) * 60);
var s2 = Math.round(parseFloat("0." + tmp2[1]).toFixed(4) * 60);
var totalSecond1 = m1 * 60 + s1 + 60;
var totalSecond2 = m2 * 60 + s2 + 60;
var exceedSecond = totalSecond1 - totalSecond2;
var fleet1StartoverTime = new Date(now.valueOf() + 60 * 1000);
var fleet2StartoverTime = new Date(now.valueOf() + exceedSecond * 1000);
var reachTime = new Date(now.valueOf() + totalSecond1 * 1000);
console.log("主力舰队出发时间: " + dateFmt("yyyy-MM-dd hh:mm:ss",fleet1StartoverTime));
console.log("火力舰队出发时间: " + dateFmt("yyyy-MM-dd hh:mm:ss",fleet2StartoverTime));
console.log("舰队预计到达时间: " + dateFmt("yyyy-MM-dd hh:mm:ss",reachTime));
console