2013-11-18 5 views
0

Я пытаюсь получитьКак конвертировать новую дату() во время клиента?

date = new Date() 

, а затем превратить его в местное время от клиента, как бы я идти о выполнении этого?

Мне нужна дата, в этом формате День [Пн, Вт и т. Д.], День месяца [18], Месяц [Ноябрь и т. Д.], Год, затем время либо в течение 24 часов формат или 12-часовой формат, секунды были бы хорошими.

Я пытался использовать getTimezoneOffset(), но я не уверен, как его использовать.

+1

При запуске в браузере 'новая дата' является временем клиента, основанным на настройке времени устройства пользователя. Вам нужно подробно рассказать, что вы пытаетесь сделать – charlietfl

+0

@charlietfl Я думал, что это было из UTC ... Интересно .. –

ответ

0

Даты в JavaScript всегда должны быть в формате клиентского компьютера.

Если toLocaleDateString не работает для вас, я рекомендую Moment.js

Использование toLocaleDateString:

console.log(new Date().toLocaleDateString()); 

Использование Moment.js:

console.log(moment().format('llll')); 
+0

Я думаю, что вы имели в виду date.toLocaleString(), не говоря уже о том, что ваш toLocaleDateString() возвращает a не имеет метода ... но с использованием date.toLocaleDateString() работает для даты ... Я думаю, что попробую фреймовую работу, вы можете проверить сообщение. –

+0

@ Loper324 'date.now()' возвращает числовую версию, а не объект даты, вызывающий **, не имеет ошибки метода **. Я обновил свой ответ – jasonscript

0

Под «по местному времени из клиент «Я предполагаю, что ваш сервер возвращает некоторое время, скажем, GMT-0, и ваш клиент находится на GMT-3.

Зная свой часовой пояс сервера, вы можете сделать какой-то трюк, чтобы выполнить математику, используя jsTimezoneDetect (http://pellepim.bitbucket.org/jstz/).

И в отношении утверждения «Даты в JavaScript всегда должны быть в формате клиентского компьютера». Предполагается, что вы используете Javascript на стороне клиента, в то время как на самом деле вы можете использовать его на сервере (узлы).

BTW, когда вы говорите: «Я пытаюсь получить дату = новая дата()« Я предполагаю, что вы делаете это на сервере с nodejs, в противном случае оба jasonscript и Loper324 правы, вы уже в клиенте, чтобы дата была в часовом поясе клиента. Или вы ссылались только на форматирование?

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