需要在javascript应用程序中查找没有日期的时间之间的差异
need to find the difference between timings without dates in javascript application
在javascript应用程序中,我没有日期,只有24小时格式的一天的时间。我怎样才能正确地找到它们之间的区别?
我所有的谷歌搜索结果都只给出了日期时间差的计算结果。
例如,如果我想找到(下午4点15分至2点45分)之间的差异,
在我的代码中,
var startTime = "14.45"; var endTime = "16.15";
现在var diffTime = endTime - startTime
,它应该给出1.30。
为了澄清我的问题,你可以参考我的相关问题SO,了解我试图实现的目标。
将字符串转换为所需的最小单位,在您的情况下是分钟。做算术运算以在几分钟内得到结果。再次进行算术运算,从结果中找出小时和分钟。您还可以添加逻辑来检查小时数是否为零,并在这种情况下更改为24。但正如评论所指出的,如果不在同一日期,就无法进行比较。
function getMinutes(timeString){
var hours = parseInt(timeString.split('.')[0], 10);
hours = hours === 0? 24 : hours;
var minutes = parseInt(timeString.split('.')[1], 10);
var totalMinutes = (hours * 60) + minutes;
return totalMinutes;
}
var startTime = "23.45";
var endTime = "0.15";
var differenceInMinutes = getMinutes(endTime) - getMinutes(startTime);
var resultString = Math.floor(differenceInMinutes/60) + "." + (differenceInMinutes%60);
另一种方法是使用日期构造函数创建伪日期,并将日期部分保留为某个任意日期(结束和开始相同),并使用常见的日期比较方法。
javascript中似乎有两个字符串变量。所以谈论时间和日期真的为时过早。它们看起来很像浮点数,但如果是这样的话,那么唯一可以应用于浮点数的算术就是浮点算术(+
、-
、*
、/
)。因此,您的第一步是将这些字符串变量解析为相应的浮点数:
var startTime = '14.45';
var endTime = '16.15';
var startTimeFloat = parseFloat(startTime);
var endTimeFloat = parseFloat(endTime);
if (isNaN(startTimeFloat) || isNaN(endTimeFloat)) {
alert('Please input valid floating point numbers before being able to do any arithmetic on them');
} else {
var difference = endTimeFloat - startTimeFloat;
// Obviously here you should take into account the case where
// the start number is bigger than the end number in which case
// you would get a negative value for the difference. If you care only
// about the absolute value of the difference then you may use the
// Math.abs javascript method. Just like that:
// var difference = Math.abs(endTimeFloat - startTimeFloat);
alert(difference);
}
相关文章:
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 使用时刻.js从日期时间中提取时间
- 两个日期时间选择器
- Javascript:如何在onChange事件期间更改日期时间值
- .Net webApi ISO日期时间和IE8
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 转换日期时间格式
- 在JavaScript中转换日期/时间格式
- JavaScript JSON关联对象键和值都作为日期时间戳
- 将日期时间javascript绑定到表列
- 将JS日期解析为C#日期时间
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 从javascript数组获取php的日期时间
- 格式化momentjs日期时间
- 这个正则表达式的日期/时间有什么问题
- Mongoose查询在两个日期时间之间提取数据
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 自定义angularjs过滤器日期时间格式额外字符