Удалить локальный часовой пояс с даты в 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
Есть ли лучшее решение для этого?
Ответы
Ответ 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'));