Это отлично работает для меня:
private static class DoubleSerializer implements JsonSerializer<Double> {
@Override
public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) {
return src == src.longValue() ? new JsonPrimitive(src.longValue()) : new JsonPrimitive(src);
}
}
Gson gson = new GsonBuilder().registerTypeAdapter(Double.class, new DoubleSerializer()).setPrettyPrinting().create();
var d = new Date();
d.setDate(d.getDate() - 1);
console.log(d);
var today = new Date();
var yesterday = new Date().setDate(today.getDate() -1);
getDate()-1
должен добиться цели
Быстрый пример:
var day = new Date( "January 1 2008" );
day.setDate(day.getDate() -1);
alert(day);
setDate(dayValue)
dayValue
целое число от 1 до 31, представляя день месяца.
от https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setDate
поведение, решая Вашу проблему (и моя), кажется, вне диапазона спецификации.
, Что, кажется, необходимо, addDate (), addMonth (), addYear ()... функционирует.