В JavaScript, вы могли бы написать
var someDate = new Date(2010, 6, 9);
Date.yesterday.date == someDate.date // true
Вышедшие ненужные детали реализации, но это возможно.Хорошо, there ya go :)
(function() {
function date(d) {
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDate();
return new Date(year, month, day);
}
Object.defineProperty(Date, 'yesterday', {
enumerable: true,
configurable: false,
get: function() {
var today = new Date();
var millisecondsInADay = 86400000;
var yesterday = new Date(today - millisecondsInADay);
return yesterday;
},
set: undefined
});
Object.defineProperty(Date.prototype, 'date', {
enumerable: true,
configurable: true,
get: function() {
return date(this).valueOf();
},
set: undefined
});
})();
Это работает только тогда, когда метка времени была в полночь точно. Редактировать: работает с <= хотя :) Редактировать 2: проигнорируйте это, это работает: P – Aistina
Нет. И свойства Today и Date возвращают только часть даты даты-времени, когда часть времени равна нулю. Поэтому он должен работать нормально. –