2015-04-30 3 views
1

Привет мой Schmema имеет поле с ISO-Date:Mongoose Обновление Условия PDT Дата/Модель ISO Дата

ISODate("2015-04-30T14:47:46.501Z") 

Paypal возвращается на успешной оплаты объект даты в таком виде:

Time/Date stamp generated by PayPal, in the following format: HH:MM:SS Mmm DD, YYYY PDT 
Length: 28 characters 

Теперь я хочу обновить запись базы данных, в которой есть payers_email_address и отметка времени, которая максимально отличается от отметки времени в 10 минут.

Эти шаги, я думаю, нужно сделать это:

1) На этом этапе я не уверен. Непонятным способом будет Stringify date paypal, а затем разделить его и перестроить. Но я думаю, что есть лучший способ?

Вопрос: Как правильно преобразовать дату PDT в дату UTC.

2) Сделать новый UTC: var dt = new Дата ('2010-06-09T15: 20: 00Z');

3) Добавить 15 минут до даты: dt.setMinutes (dt.getMinutes() + 15);

4) Запрос Inbetween две даты MongoDB/Mongoose querying at a specific date?

В целом (не работает на сегодняшний день на 30/04/2015)

MyModel.find({date: {"$gte": new Date("10:00:46 04 29, 2015").toUTCString(), "$lt": new Date("14:00:46 05 01, 2015").toUTCString()}}) 

EDIT:

Я думаю, если бы я получил запрос bove working Я могу просто использовать то же самое с PDT:

new Date("20:15:10 05 10, 1985 PDT").toUTCString() 

Я отправил свои шаги, потому что, возможно, есть функция мангуста для преобразования даты, и мне не нужно делать 1-3.

ответ

1

Это работает в моем mongoShell я доложу позже, если он работал в программе:

MyModel.find({date: {"$gte": new Date("10:00:46 04 29, 2015 PDT"), "$lt": new Date("14:00:46 05 01, 2015 PDT")}})