Javascript 返回两个日期之间的天数无效
我有一个从json文件中提取日期的小代码。 并返回过期前剩余的天数 如何在控制台日志中返回NaNJavascript 返回两个日期之间的天数无效,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);
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,但我想指出,一般来说,它需要一个特定的格式来工作,我不知道为什么这个被否决。我支持你。我不知道为什么这个被否决了。我支持你。