Въведение в UTC дати
JavaScript има редица функции, които се занимават с времето на UTC, но какво е UTC време? Според американската обсерватория за пъпки, времето за UTC е „координирано универсално време“, координирана скала за гражданско време, „поддържана от лаборатории за време по света ... определена с помощта на високо прецизни атомни часовници“. Това е приблизително същото като средното време на Гринуич (GMT), но е по-точно. Редица нации като Мароко, Исландия и Мали; използвайте UTC директно като гражданско време. През зимата UTC е гражданското време за Обединеното кралство. Гражданското време на САЩ се определя от определен брой часове, изместени от UTC. Например, Аризона (която не запазва лятното часово време) винаги е UTC + 7. Пекин, часовата зона на Китай е UTC-8 (ще използваме това в нашите примери по-долу.)

Повечето методи за дата на JavaScript имат еквивалентен метод, който се занимава с UTC време, а не с местно време. Например, getHours () връща час по местно време, докато getUTCHours () връща часа в UTC време. Можете да получите обект Date в четена за човека форма спрямо местно време с помощта на toLocaleString () и спрямо UTC с помощта на toUTCString (). Обектът за дата на JavaScript дори има метод, наречен UTC. Методът UTC () е статичен метод, използван за преобразуване на дата в определен формат в милисекунди от 1 януари 1970 г. (спрямо UTC). След това можете да използвате конструктора Date (), за да създадете обект Date с тази стойност.

Например, Китай обяви, че церемониите по откриването на Олимпиадата през 2008 г. ще бъдат на 8 август 2008 г. в 20:08 часа. Можем да използваме метода на UTC () на JavaScript, за да разберем кога това е местно време.

var offset = -8; // отместване от UTC
var luckyday = нова дата (Date.UTC (2008,7,8, (20 + офсет), 8);
document.write ("Олимпийските игри 2008 започват от" + luckyday.toUTCString ());
document.write ("В местно време това е" + luckyday.toLocaleString ())

Забележка: В горния пример преобразувах от Пекин време в UTC, като добавих отместването от UTC ("-8") към пекинското време - това е причината аргумент 4 от Date.UTC гласи "(20 + офсет)" по-горе.

Ако имате JavaScript в браузъра си, тук можете да видите пример на живо на този код.


СПРАВКА

Date.UTC ( година, месец [, ден, [час, [минути, [секунди, [милисекунди]]]]]])

преобразува дадената дата в милисекунди от 1 януари 1970 г.

Забележка: всички аргументи са цифри. Както винаги в JavaScript, месец от 0 е януари. Ако някой аргумент, различен от година, е по-голям или по-малък брой, отколкото е възможно за стойността, която представлява, той се използва, за да повлияе на следващия по-голям аргумент - например месец от 13 се интерпретира като февруари на следващата година и месец от -2 се тълкува като ноември на предходната година.

SOURCE

Американска военноморска обсерватория. "Какво е универсално време?" 30 октомври 2003 г. Военноморска обсерватория на САЩ, отдел за астрономически приложения. 6 юли 2007 г.

Инструкции Видео: 2017 Personality 01: Introduction (Може 2024).