我想查找今天,明天和昨天的日期,我想比较来自后端的日期,并分别显示“今天”,“明天”和“昨天”。
今天,我用过:
var a = Date();
明天,我用过:
var b = Date() + 1;
昨天,我用过:
var b = Date() - 1;
因此,这是我在 formatter.js
中完成的完整代码myDate: function(abc) {
var oDateFormat;
var requiredDate = oDateFormat.format(new Date(abc));
var currentDate = oDateFormat.format(new Date());
var tomorrowDate = oDateFormat.format(new Date() + 1);
var yesterdayDate = oDateFormat.format(new Date() - 1);
if (requiredDate === currentDate) {
return "Today";
} else if (requiredDate === tomorrowDate) {
return "Tomorrow";
} else if (requiredDate === yesterdayDate) {
return "Yesterday";
} else {
return requiredDate;
}
},
但是,明天和昨天不起作用。任何人都可以建议我做错了什么?如何将日期与系统日期进行比较以查明明天或昨天?
答案 0 :(得分:3)
为了相对显示日期,您只需要将属性与type Date和format option relative绑定。
E.g。 (来自https://embed.plnkr.co/Ec5jnK/):
value="{
path: 'modelName>/myDate',
type: 'sap.ui.model.type.Date',
formatOptions: {
relative: true
}
}"
如果从OData服务获取日期值,请参阅文档主题 Date and Time Related Controls: Data Binding 。
答案 1 :(得分:0)
尝试以下代码:
myDate: function(BackEndDate) {
var currentDate = new Date();
var tomorrowDate = new Date();
var yesterdayDate = new Date();
// Increase the date by 1 day
tomorrowDate.setDate(tomorrowDate.getDate() + 1);
// Decrease the date by 1 day
yesterdayDate.setDate(yesterdayDate.getDate() - 1);
if (BackEndDate === currentDate) {
return "Today";
}
else if (BackEndDate === tomorrowDate) {
return "Tomorrow";
}
else if (BackEndDate === yesterdayDate) {
return "Yesterday";
}
else
{
return BackEndDate;
}
}
},