Подтвердить что ты не робот

Удалить локальный часовой пояс с даты в javascript?

Мне было интересно, могу ли я удалить часовой пояс с даты с помощью javascript? Я получаю datetime в формате json, теперь я хочу установить его обратно, но он возвращает больше информации о том, чего я действительно хочу/нуждаюсь.

Теперь у меня есть:

var d = new Date();
d.setTime(1432851021000);
document.write(d);

и вывод выглядит примерно так:

Thu May 28 2015 16:10:21 GMT-0600 (CST)

Id нравится показывать только до часа и удалять GMT-0600 (CST).

Я знаю, что javascript принимает это в зависимости от текущего часового пояса пользователя, что является проблемой, потому что информация может быть сохранена в разных странах.

Я пытаюсь избежать создания формата, используя что-то вроде:

d.date() + "/" + d.month()...etc

Есть ли лучшее решение для этого?

4b9b3361

Ответ 1

Я верю, что d.toDateString() выведет формат, который вы ищете.

var d = new Date();
d.setTime(1432851021000);
d.toDateString(); // outputs to "Thu May 28 2015"
d.toGMTString(); //outputs to "Thu, 28 May 2015 22:10:21 GMT"

Или даже d.toLocaleString() "5/28/2015, 6:10:21 PM"

Существует множество методов для Date()

Ответ 2

с импульсами

var d = new Date();
d.setTime(1432851021000);

var newdate = moment(d);

alert(newdate.format("MMM DD/MM/YYYY HH:mm:ss "));

http://jsfiddle.net/vynvepak/

Ответ 3

Вы можете использовать 2 варианта:
1. используйте функцию split: d.split('GMT'). это дает вам массив.
2. Получите обычные функции данных js, такие как getHour и getFullYear и т.д., Чтобы отформатировать результат, как вы предпочитаете.

Ответ 4

Поскольку желаемая часть всегда имеет фиксированную длину, которую вы можете использовать:

d.toString().slice(0, 24)

jsfiddle

Ответ 5

var x = d.toDateString().length;
var result = d.toDateString() + d.toString().substring(x,x+9);

Ответ 6

var date = new Date(myUnixTimestamp*1000);
var prettyDate = date.toLocaleString();

Ответ 7

Я создал простую функцию js для удаления части часового пояса из строки datetime. Это, который даст вывод, как

  • 2019-07-27T19: 00: 00.000-0700 => 2019-07-27T19: 00: 00.000
  • 2019-09-17T19: 00: 00.000 + 0100 => 2019-09-17T19: 00: 00.000

function removeTimeZonePart(dateString) {
            
             let finalDate = '';
            
             if (dateString.split('+').length > 1) {
                 let b = dateString.split('+');
            
                 finalDate = b[0];
             } else {
                 let b = dateString.split('-');
            
                  if (b.length > 1) {
                   b.pop();
                   finalDate = b.join('-');
                 }
             }

             return finalDate;

}

alert(removeTimeZonePart('2019-07-27T19:00:00.000-0700'));