Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回两个日期之间的天数无效_Javascript_Jquery_Date_Time - Fatal编程技术网

Javascript 返回两个日期之间的天数无效

Javascript 返回两个日期之间的天数无效,javascript,jquery,date,time,Javascript,Jquery,Date,Time,我有一个从json文件中提取日期的小代码。 并返回过期前剩余的天数 如何在控制台日志中返回NaN var start=“2019/03/12”; var end=“2020/03/12”; 天数=(结束-开始)/(1000*60*60*24); console.log(Math.round(days))您需要将结束和开始更改为 var start=“2019/03/12”; var end=“2020/03/12”; 天数=(新日期(结束)-新日期(开始))/(1000*60*60*24);

我有一个从json文件中提取日期的小代码。 并返回过期前剩余的天数

如何在控制台日志中返回NaN

var start=“2019/03/12”;
var end=“2020/03/12”;
天数=(结束-开始)/(1000*60*60*24);

console.log(Math.round(days))您需要将
结束
开始
更改为

var start=“2019/03/12”;
var end=“2020/03/12”;
天数=(新日期(结束)-新日期(开始))/(1000*60*60*24);

console.log(Math.round(days))您需要将
结束
开始
更改为

var start=“2019/03/12”;
var end=“2020/03/12”;
天数=(新日期(结束)-新日期(开始))/(1000*60*60*24);
console.log(Math.round(days))使用对象尝试此操作

var开始=新日期(“2019/03/12”);
var结束=新日期(“2020/03/12”);
天数=(结束-开始)/(1000*60*60*24);
console.log(Math.round(days))使用对象尝试此操作

var开始=新日期(“2019/03/12”);
var结束=新日期(“2020/03/12”);
天数=(结束-开始)/(1000*60*60*24);

console.log(Math.round(days))您必须将字符串日期转换为javascript日期,但总的来说,我建议您使用moment,因为javascript日期可能会很麻烦

要将字符串转换为javascript日期类型,可以这样做

var mydate = new Date('2011-04-11T10:20:30Z'); // <--- you have to format it
如果您想使用矩,可以这样做:

var mydate = moment("2014-02-27T10:00:00").format('DD-MM-YYYY'); // <-- here inside the format function you can define how your string get's parsed

var mydate=时刻(“2014-02-27T10:00:00”)。格式(“DD-MM-YYYY”);// 您必须将字符串日期转换为javascript日期,但总的来说,我建议您使用moment,因为javascript日期可能会很麻烦

要将字符串转换为javascript日期类型,可以这样做

var mydate = new Date('2011-04-11T10:20:30Z'); // <--- you have to format it
如果您想使用矩,可以这样做:

var mydate = moment("2014-02-27T10:00:00").format('DD-MM-YYYY'); // <-- here inside the format function you can define how your string get's parsed

var mydate=时刻(“2014-02-27T10:00:00”)。格式(“DD-MM-YYYY”);// 使用
moment.js的
diff
功能。但在使用之前,您必须将其格式化

const format=date=>date.replace(//\//g,'-'))
var开始=时刻(格式(“2019/03/12”);
var end=力矩(格式(“2020/03/12”);
console.log(end.diff(start,'days'))

使用
moment.js的
diff
功能。但在使用之前,您必须将其格式化

const format=date=>date.replace(//\//g,'-'))
var开始=时刻(格式(“2019/03/12”);
var end=力矩(格式(“2020/03/12”);
console.log(end.diff(start,'days'))


非常感谢您。我将在13分钟内标记为正确。请记住,这不会在任何地方都有效。将字符串
“2020/03/12”
解析到您期望的日期将取决于用户的位置。i、 这是12月3日的3月12日吗?一个更好的解决方法是使用moment.js添加到@Liam的评论中,您可以用来解决这个问题。非常感谢。我将在13分钟内标记为正确。请记住,这不会在任何地方都有效。将字符串
“2020/03/12”
解析到您期望的日期将取决于用户的位置。i、 这是12月3日的3月12日吗?更好的解决方法是使用moment.js添加到@Liam的评论中,您可以使用.Works来解决这个问题,但缺乏解释。遵守您的用户名;)在那里,增加了一个解释,但缺乏解释。遵守您的用户名;)在这里,添加了一个解释:力矩的可能重复是很好的,但是对于这个特殊的例子,它不是必需的。其他答案很简单。@Liam tolocalString()将在无需加载外部库的情况下解决此问题。别误会我的意思,我喜欢时刻,我自己也可能会用它来做类似的事情。是的,这是真的,时刻是很棒的,我通常用它来计算时间,但当然,如果你有javascript日期,你可以一直用它来计算时间戳。日期计算的最佳函数是dotnet及其timespan和datetime类型,moment应该朝着这个方向发展,javascript应该在语法中包含moment默认情况下
你必须格式化它
这是有效的,因为它是一个日期字符串,在这个例子中你是对的@Liam,但我想指出,一般来说,它需要一个特定的格式才能工作moment很好,但是,对于这个特定的示例,它不是必需的。其他答案很简单。@Liam tolocalString()将在无需加载外部库的情况下解决此问题。别误会我的意思,我喜欢时刻,我自己也可能会用它来做类似的事情。是的,这是真的,时刻是很棒的,我通常用它来计算时间,但当然,如果你有javascript日期,你可以一直用它来计算时间戳。日期计算的最佳函数是dotnet及其timespan和datetime类型,moment应该朝这个方向改进,javascript应该在语法中默认包含moment
你必须格式化它
这是因为它是一个日期字符串,总是有效的在这个例子中你是对的@Liam,但我想指出,一般来说,它需要一个特定的格式来工作,我不知道为什么这个被否决。我支持你。我不知道为什么这个被否决了。我支持你。