好的-我对javascript还是很陌生,请理解我并耐心等待。
我有一个脚本,它返回两个日期:一个来自文本文件,另一个是系统日期。这两个日期以以下格式显示:
Tue 29 Jun, 12:57 PM (from the text file) and
Mon Jul 26 2021, 11:47:21 PM (from the system date).
当我尝试减去这两个日期时,我在控制台上得到以下输出:
楠
我使用以下代码试图获得这两个日期之间的差异:
const diffInMilliseconds = Math.abs('computer_date' - 'slug_date');
console.log(diffInMilliseconds);
南是什么意思?在javascript中获得两个日期差的正确方法是什么?在减去日期之前,是否需要将日期转换为其他格式?
4条答案
按热度按时间nom7f22z1#
你的价值观周围有引号。引号告诉javascript将引号中的数据解释为字符串。您正在尝试减去两个字符串,如
"oranges" - "apples"
. javascript不理解这一点,这就是为什么您会NaN
.NaN
代表不是一个数,是当你尝试做一些你不能做的数学运算时得到的结果,比如被零除,或者减去不能减去的东西。要修复此问题,请删除引号:
uplii1fm2#
最简单的方法是使用
Date.parse()
:不过,您可能需要从文本文件中再次检查该日期,因为没有年份。
uemypmqf3#
首先使用math.abs()减去两个日期,得到以毫秒为单位的结果。将结果除以1000得到秒数,再除以60得到分钟数。
yuvru6vn4#
试试这个,
nan代表“不是数字”,如果您尝试对数字以外的数据类型执行数学运算,通常会看到此错误。
文本文件指的是2001年,见下面的输出