我有过一系列时间来到我,作为网络服务机构的载体。 时间为HHHH:MM:SS:000(3秒)。 我需要作两次比较,以确定一个人是否比另一方高出一倍多:
if ( timeA / timeB > 2 )
什么最简单的处理时间问题?
If I was writing in Python this would be the answer to my question: Difference between two time intervals?
(除操作者I需要的是分行,而不是分机)
Edit:我真心想的是,获得时间A到时间B的比例,需要分治而不是分治。 不幸的是,日间结构似乎没有司级操作员。 更新问题标题和内容,以反映这一点。
<>Solution:
根据我下面的回答,这是迄今为止所有拟议方法中最简单的办法,这里是:
DateTime timeA;
DateTime timeB;
DateTime.TryParse(webServiceTimeString_A, out timeA);
DateTime.TryParse(webServiceTimeString_B, out timeB);
// TimeA is more than twice the duration of TimeB.
if ( (double)timeA.TimeOfDay.Ticks / (double)timeB.TimeOfDay.Ticks > 2.0f )
{
// Do stuff.
}
else
{
// Do different stuff.
}
http://www.ohchr.org。
最近,在贾瓦文中,还需要这一功能,才能发出美国宇宙航空研究开发厅的号召,因此,我不得不在一切之后写起转换功能(C#中不作调整)。 必要时:
if (_timeInSeconds(timeA) / _timeInSeconds(timeB) > 2) {
// Do stuff.
}
// Convert HH:MM:SS:000 string to a number of seconds so we can do math on it.
function _timeInSeconds(stringTime) {
var timeArray = stringTime.split(":");
var timeInSeconds = 0;
//HH
timeInSeconds += (parseInt(timeArray[0], 10) * 3600);
//MM
timeInSeconds += (parseInt(timeArray[1], 10) * 60);
//SS
timeInSeconds += (parseInt(timeArray[2], 10));
//Milliseconds
timeInSeconds += (parseInt(timeArray[3], 10) / 1000);
return timeInSeconds;
}
致明智之辞: 确保明确“平等”的第二个论点。
parseInt(string, 10)
......具体指出,该指示是基地10号。 否则,如果扼杀从0
(common in HH:MM:SS form)开始,Java 则将其定为“基地8”号。 由此可见<代码>08><>>>>>和09>
,改成正文编码<0<>>(因为8和9在基地-8中不存在),计算结果被撤销。