Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменяем GTM зону (https://javascript.ru/forum/dom-window/70415-izmenyaem-gtm-zonu.html)

dima85 03.09.2017 21:35

Изменяем GTM зону
 
Есть переменные $userTime = "03.09.2017 11:11:27" здесь я храню время в GMT 0 зоне.
Есть какое-то простой способ переконструировать его допустим в GTM +2 зону?
Или сразу в зону клиента.
Нашел примеры как это можно сделать с moment.js, но может есть какой-то другой постой вариант, без сторонних библиотек.

j0hnik 03.09.2017 21:57

у клиента вашего находящегося в другой таймзоне автоматом добавятся эти два часа если указано в GMT. В объекте date насколько я знаю нельзя в дальнейшем менять, если вы столько сразу не создали объект с нужной таймзоной.

Rise 04.09.2017 09:10

dima85,
function utcToLocal(date) {
	var match = date.match(/\d+|\D+/g);
	date = Date.UTC(+match[4], match[2]-1, +match[0], +match[6], +match[8], +match[10]);
	date = new Date(date);
	match[0] = pad(date.getDate());
	match[2] = pad(date.getMonth() + 1);
	match[4] = date.getFullYear();
	match[6] = pad(date.getHours());
	match[8] = pad(date.getMinutes());
	match[10] = pad(date.getSeconds());
	return match.join('');
	function pad(number) {
		return number < 10 ? '0' + number : number;
	}
}
var $userTime = "03.09.2017 11:11:27";
alert($userTime + '\n' + utcToLocal($userTime));

dima85 04.09.2017 12:04

Спасибо за пример Rise с разбором.
Но я думал это можно сделать как-то проще. Очень жаль.


Часовой пояс GMT +3, время: 13:42.