Я храню данные на ежедневной основе в localStorage, и при этом я хочу использовать дату как «первичный ключ».Округление Дата до ближайшего дня в Javascript.
Я использую JSON.stringify() и .parse() для хранения данных таким образом:
localStorage.setItem(datakey, JSON.stringify(dataObject));
dataObject = JSON.parse(localStorage.getItem(datakey));
Я хочу использовать дату как DataKey, и приложение будет просто перезаписывать данные, записанные ранее в в день, если вы запишете еще раз в тот же день.
Поэтому мне нужно округлить дату до текущего дня, месяца и года.
На данный момент я пытаюсь это:
selected_d = $("#date-1").val();
console.log("The date is "+selected_d);
dateArray = selected_d.split("-");
day = dateArray[2];
month = dateArray[1];
year = dateArray[0];
datakey = new Date(year, month, day);
console.log("The datakey is "+datakey);
Причиной использования раскола является то, что # дата-1 является дата JQuery Mobile и поставляется в формате гггг-мм-дд и I хотите использовать стандартный формат Великобритании dd/mm/yy.
из положить из бревен консоли:
The date is 2014-02-18
The datakey is Tue Mar 18 2014 00:00:00 GMT+0000 (GMT Standard Time)
Я знаю, что это происходит потому, что Ян = 0, = 1 февраля и так далее.
Мне очень понравился способ создания «идеального» объекта даты для меня. Тот, который содержит только дни, месяцы и годы, и тот, который находится в формате DD/MM/YYYY, поэтому я могу легко запросить localStorage. Я знаю, что смогу восстановить дату:
var displayed_d = (day<10 ? '0' : '') + day + "/"+ (month<10 ? '0' : '') + month_up + "/" + current_d.getFullYear();
но это не идеальный вариант, не так ли?
Любые идеи?
новый Дата (JSON. parse ('' 2014-02-19 "')) – gberger