我正在从API以字符串格式获取日期。
End Date 2014-06-03T06:16:52
。我需要编写一个if-else逻辑并比较结束日期和当前日期。如果结束日期小于当前日期,则将客户显示为有效,如果结束日期大于将客户显示为有效。
我已经尝试遵循以下逻辑,但是我无法从atat中理解并获得今天的时间。
this.endDate = this.sampleData != null ?
this.sampleData.customerStartDate : null;
this.currentDate = new Date();
var dd = this.currentDate.getDate();
var mm = this.currentDate.getMonth() + 1;
var yyyy = this.currentDate.getFullYear();
this.currentDate = new Date().toLocaleString()
console.log('End Date', this.endDate);
console.log('Current Date: ', this.currentDate);
if (this.endDate == null) {
this.customerStatus = 'Active';
} else {
this.customerStatus = 'In Active';
}
我将当前日期设为Current Date: 4/2/2019, 1:23:34 AM
我希望能够获得与“结束日期”相同的格式。
我的主要任务是比较日期如何实现?
答案 0 :(得分:1)
理想情况下,您希望清理从API获取的日期,并将其转换为JS Date
对象。您可以通过仅保留2014-06-03T06:16:52
部分并将其分配给new Date()
构造函数来实现此目的。
您可以通过不带参数的调用new Date()
来获取当前日期。
您可以通过在每个日期上调用getTime()
将日期转换为数字。
然后您可以比较数字。
const incoming_date = new Date('2014-06-03T06:16:52');
const current_date = new Date();
if (incoming_date.getTime() < current_date.getTime() {
// incoming_date is before current_date
} else {
// current_date is before incoming_date
}
答案 1 :(得分:0)
就这么简单
let date=new Date("2014-06-03T06:16:52")
date>new Date()
答案 2 :(得分:0)
我个人喜欢使用moment()作为JavaScript日期。您真的只需要比较相同的格式即可,因此您可以使用类似的东西:
this.currentDate = moment().toISOString();
const dataDate = this.sampleData ? this.sampleData.customerStartDate : null;
this.endDate = moment(dataDate).toISOString();
if (this.endDate > this.currentDate) {
this.customerStatus = 'Active';
} else {
this.customerStatus = 'Inactive';
}
答案 3 :(得分:0)
您可以尝试使用build.gradle
用Unix纪元表示以毫秒为单位的日期,并进行比较
getTime()