@Kusmich

Как правильно сравнить даты?

Приходит json в котором помимо прочего есть дата выступления участников. Нужно сравнить эту дату с датой в json.

1. Как мне сделать такое сравнение ?
2. как мне в зависимости от результатов сравнения даты обращатся к нужному разделу json.
3. Если нужно то в json я дату могу переписать для более удобного сравнения. ток , скажите как переписать ?

Вот сам кусок json :

{  
   "date" :{
   "1":{  
      "chef":"Иван Пилипенко",
      "anotation":"Применение сухой и влажной ферментации к локальному фермерскому мясу",
      "dolznost":"'Купеческий двор' ",
      "date":"Wednesday, November 04, 2015",
	  "dataRel" : "4 ноября в 11:30",
      "url":"",
      "time":"11:30",
      "dishes ":{  
         "1":"Тартар из отлежайшейся говяжьей вырезки на ржаных тостах и хрустящим салатом",
         "2":"Строганина из говяжьего антрекота с клюквой и пармезаном",
         "3":"Филе миньон с белыми грибами",
         "4":"Стейк Рибай на кости с острым ягодным конфитюром"
      }
   },

 "2":{  
      "chef":"Владислав Таниславский",
      "anotation":"Рентабельные и гастрономические блюда в ресторане, на примере блюд из тунца",
      "dolznost":"ресторан'Сыто-Пьяно', ",
      "date":"Wednesday, November 04, 2015",
	  "dataRel" : "4 ноября в 13:30",
      "url":"",
      "time":"13:30",
      "dishes ":{  
         "":""
      }
   }
  • Вопрос задан
  • 1122 просмотра
Решения вопроса 1
lazalu68
@lazalu68
Salmon
Для начала у вас какая-то не очень понятная для меня рекурсия в первом же предложении вопроса: "Приходит json в котором помимо прочего есть дата выступления участников. Нужно сравнить эту дату с датой в json". Какую с какой ?)

Потом я содержимое объектов не понял: что такое date и что такое dataRel и одна ли это и та же дата?

Но в целом это не важно, дальше все будет просто.

Каюсь, лень изобретать готовое решение, но если вас устроит наметка, то она такая:

Даты можно переводить в timestamp, как-то сходу у меня это получается не очень корректно (при переводе спарсенной строки обратно в дату, время отстает на час), но чую проблема в привязке в GMT, это решаемо. А уже таймстемпы сравниваются как обычные числа, не вижу далее никаких сложностей.

Например, так:

a = new Date(Date.parse('Wednesday, November 04, 2015' + ' 13:30'))
b = new Date(Date.parse('Wednesday, November 04, 2015' + ' 11:30'))

if (a > b) {
    // что-нибудь натворим тут
}


А раз вы говорите, что можете корректировать json, то пихните туда еще собственно timestamp, тогда вообще алгоритм будет прозрачный.

Если вам никто не ответит до завтра, то с утра натворю полноценное решение на основе имеющейся информации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы