在我正在研究的angularJS应用程序中,我们使用SQL服务器来提供数据。没什么奇怪的。我的任务是处理日期卫生,因此传递给我们的应用程序的具有SQL最小日期值的对象是未定义的,而具有日期的对象是javascript Date对象。
我知道在升级过程中,有时为最小日期定义的字符串可能会发生变化。现在,它是0001-01-01T00:00:00Z。我不能只进行字符串比较,因为它可能会改变。
我的问题是,如何在javascript中确定此最短约会?新日期(varThatIsMinDate)是有效日期。 MomentJS认为它也有效,从技术上讲它是一个有效的日期。我不太担心验证,更担心“它是最短的约会”
如何在zulu模式0001-01-01T00:00:00Z或类似的javascript中确定最短日期=== true?
我的代码到目前为止,因为我知道你会要求它:
if (response.config.responseType === 'json') {
for (var property in response.data) {
if (response.data.hasOwnProperty(property)) {
if (property.toUpperCase().indexOf('DATE') > -1 || property.toUpperCase().indexOf('TIME') > -1) {
console.log(property.toUpperCase());
// Attempt to use JS built in date and validate
var tmpDate = new Date(response.data[property]);
if ($moment(tmpDate).isValid()) {
// Make it a valid date object if it has a valid date
response.data[property] = tmpDate;
} else {
// Make it undefined
response.data[property] = undefined;
}
}
}
}
}
事情是,它总是有效的,所以这段代码不起作用。
编辑:我可以作弊并使用tmpDate.getUTCFullYear()=== 1但我想知道如何以正确的方式做到这一点。