Функции изменения вида представления даты и времени

При выводе объект Date преобразуется в строковую форму, содержащую все компоненты даты, включая смещение от времени UTC или GMT (порядок вывода компонент даты отличается в разных Web-браузерах). В выводимой строке наименование месяца и дня недели задаются на английском языке. Чтобы вывести объект в локальном формате, т.е. формате, установленном при настройке операционной системы (в Windows XP такая настройка выполняется во вкладке Региональные параметры пункта Язык и региональные стандарты в Панели управления) можно использовать следующие функции изменения вида представления даты и времени:

· toLocaleString() – строковый вывод даты и времени в локальном формате;

· toLocaleDateString() – строковый вывод отдельно даты в локальном формате;

· toLocaleTimeString() – строковый вывод отдельно времени в локальном формате.

Следует отметить, что в разных Web-браузерах используются разные локальные форматы представления данных.

Кроме того, для вывода времени UTC в том же строковом формате, в котором выводится объект типа Date, можно использовать функцию

· toUTCString().

Статическая функция

UTC(год, месяц, число, час, минута, секунда, миллисекунда)

требует тех же параметров, что и третий конструктор объекта Date (см. 4.4.11.7.1) и возвращает внутреннее время UTC в миллисекундах с 1 января 1970 года. Статической эта функция называется потому, что она вызывается не для конкретного объекта типа Date, а для самого объектного типа Date.

Статическая функция

parse(строка)

возвращает внутреннее местное время в миллисекундах с 1 января 1970 года. Параметр строка задается аналогично одноименному параметру в четвертом конструкторе объекта Date (см. 4.4.11.7.1).

Функция parse() «понимает» даты только на английском языке. Если дата представлена на языке, отличном от английского, функция возвращает значение NaN.

Пример 4.4.56. Использование функций изменения вида представления даты и времени объекта Date:

// Определение текущей местной даты и времени

currentDate = new Date();

// Получение местной даты в локальном формате

localDate = currentDate.toLocaleDateString();

// Получение местного времени в локальном формате

localTime = currentDate.toLocaleTimeString();

// Вывод строкового представления даты и

// местной даты и времени в локальном формате

alert('currentDate="' + currentDate + '"' +

"\nМестные дата и время" + "\n Дата: " +

localDate + " Время: " + localTime);

// Преобразование местной даты и времени

// в строковое представление даты и времени UTC

UTCDateString =currentDate.toUTCString();

// Поиск строки "UTC" в строке (для Internet Explorer)

UTCIndex = UTCDateString.indexOf("UTC");

// Если строка не найдена

if(UTCIndex == -1)

// Поиск строки "GMT" в строке

// (для остальных Web-браузеров)

UTCIndex = UTCDateString.indexOf("GMT");

// Удаление строки "UTC" или "GMT"

// из строкового представления даты и времени UTC

UTCDateString = UTCDateString.substr(0, UTCIndex);

// Получение внутреннего времени для UTC

UTCInnerDate = Date.parse(UTCDateString);

// Создание объекта Date для UTC

UTCDate = new Date(UTCInnerDate);

// Получение UTC в локальном формате

localUTCDate = UTCDate.toLocaleString();

// Вывод UTC в локальном формате

alert("Дата и время UTC: " + localUTCDate);

В этом фрагменте сценария дата и время преобразуется в локальный формат, а затем выводится строковое представление даты, а также дата и время в локальном формате. Для получения вывода UTC в локальном формате сначала определяется строковое представление UTC, из него удаляется конечная строка "UTC" или "GMT" (иначе время UTC интерпретируется как местное время), затем, с помощью функции parse() определяется внутреннее время для UTC и для этого времени создается объект Date, вывод которого преобразуется в локальный формат.

Вывод фрагмента имеет следующий вид:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: