【发布时间】:2019-03-11 00:12:09
【问题描述】:
我试图找出两个日期之间的差异,如下所示:
2018/10/05 13:59
但我的问题在于我的代码,它总是返回 NaN。
这是我当前的代码:
var start = '2018/10/05 13:59';
var end = '2018/10/05 17:59';
var converted_start = start.replace("/", "-");
var converted_end = end.replace("/", "-");
// end - start returns difference in milliseconds
var diff = new Date(converted_end - converted_start);
// get days
var days = diff/1000/60/60/24;
alert(days);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我尝试将代码中的/ 替换为-,但这并没有解决问题!
有人可以就这个问题提出建议吗?
提前致谢。
【问题讨论】:
-
我想你的第一个问题是你正在使用字符串并试图减去它们并从该结果中创建一个新的日期。然后,您将采用这个 diff,它意味着一个 Date(不确定它在运行时会是什么),然后对其进行除法。我想 Date 对象具有进行数据操作的方法,您可能应该查找这些方法
-
@Dave 使用字符串应该不会导致任何问题。看这里:stackoverflow.com/questions/2609513/…
-
@JamesJuanjie 似乎
.val()返回Date对象,而不是字符串,该链接答案中的第二个 sn-p 包含示例 -
@JamesJuanjie FYI
replace("/", "-")仅替换第一次出现的/ -
@barbsan,谢谢...
标签: javascript