2016-04-13 4 views
0

От сервера я Дата в формате UTC, как,Date.UTC() получает значение нуль

2016-04-13T02:37:13.211316121-04:00 

Когда я использую для отображения с помощью new Date(data.Created_at) я получаю разницу во времени 7 мин. Например, когда я показываю свою дату в формате {{my_date | дата: 'h: mm a'}}, insted показ 12:05 PM, это dispalys 11:58 AM. Так что я попытался это,

data.Created_at = new Date(Date.UTC(data.Created_at)) 

который возвращает null значение. Есть ли какие-либо проблемы в моем коде? Как мне получить идеальную дату?

ответ

0

Используйте его как этот

Date.UTC(year,month,day,hours,minutes,seconds,millisec)

0

код, который вы используете недопустимый способ обработки даты. Вы можете использовать этот код

new Date('2016-04-13T02:37:13.211316121-04:00').toISOString(); 
0
var created_at = new Date(createdAt); 

var created_at_date = (created_at.getUTCMonth()+1) + "/" + created_at.getUTCDate() + "/" + created_at.getUTCFullYear() + "/" + created_at.getHours() + ":" 
+ created_at.getMinutes() + ":" + created_at.getSeconds(); 

Надеется, что это будет работать для вас !!!

+0

Нет проблем с датой .. Мне нужно точное время. – Priyanka

+0

Я отредактировал ответ ... –

0

Если проверить синтаксис Date.UTC,

Date.UTC (год, месяц [, день [, час [, минуты [, второй [, миллисекунды]]]]])

Он ожидает значения в разных переменных, а не в строке даты. Вы можете разделить его и вручную разобрать.

Вы можете попробовать что-то вроде этого:

JSFiddle

var d = "2016-04-13T02:37:13.211316121-04:00"; 
var date_arr = d.split(/[-|T|\.|:]/); 
var o = new Date(Date.UTC(date_arr[0], date_arr[1], date_arr[2], date_arr[3], date_arr[4], date_arr[5])); 
console.log(date_arr, o); 

Кроме того, это дает мне 8:07 AM, учитывая время является 2:37 и мой часовой пояс является +5:30.

+0

Я пробовал с вашим кодом. Я получил '2016-04-13T04: 44: 56.438972462-04: 00' на этот раз сейчас ... где мое текущее время 14:22 .. где ваш код возвращает меня 10:14 AM – Priyanka

+0

Я думаю, нам нужно рассмотреть это тоже «-4: 00». – Priyanka

+0

Это потому, что, как я уже упоминал, он создаст дату на основе местного часового пояса. Почему вы ожидаете дату UTC со временем «2: 37', чтобы показать« 11: 58 », когда ваш часовой пояс находится где-то рядом с« 5: 30 »? – Rajesh

Смежные вопросы