JavaScript:使用德语日期字符串进行日期算术

标签 javascript string date-arithmetic

我有一个 JavaScript 问题需要解决。

表单中的文本字段有一个德语(短,但不太短)日期:“22.12.2017”(格式:DD.MM.JJJJ)。

用户离开文本字段后,必须检查日期是否比今天的日期短或长一年(365 天)。

我真的不知道如何在用户给我的时间窗口内做到这一点,需要这里专家的帮助。

如果有人知道代码片段的链接,请告诉我。

非常感谢。

康斯蒂

最佳答案

让变量date 将字段的值22.12.2017 作为字符串保存:

// split the date into an array
date = date.split('.'); 

// turn the array into a Date object
date = new Date( date[2], date[1]-1, date[0] );

// today's date
today = new Date();

// timespan between date and today in milliseconds
timespan = Math.abs( date - today );

// check the timespan is not more than 365 days
does_fit = timespan < 365 * 24 * 3600 * 1000;

当然,您应该检查输入的日期是否有效且格式正确。

通常,您会在使用 split 将其拆分为多个部分后执行此操作。

关于JavaScript:使用德语日期字符串进行日期算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49676096/

相关文章:

javascript - javascript 函数 toLocaleDateString() 的错误日期

java - 类型不匹配无法从元素类型对象转换为字符串

javascript - 将动态数据保存到 localStorage 并在加载 .html 时将此数据加载到 html 表中

javascript - $(this).position 和 getBoundingClientRect() 之间的区别

javascript - textarea autoresize 有问题

java - 如何根据字符串的长度对 List<String> 进行排序并打印前 N 个元素

MySQL如何填充范围内缺失的日期?

javascript - 如何向 JavaScript Date 对象添加年、月、日、小时、分钟或秒?

javascript - 现代 javascript 中的 Let 或 Var?