Шаг 12 - Объекты Boolean и Date

Объект Boolean

Объект Boolean предназначен для хранения логических значений. Часто он используется как некий метод преобразования нелогической информации в логическую. Преобразование это происходит на этапе создания объекта:

имя_переменной = new Boolean(значение);

Значение новой переменной можно задавать разными типами данных. Под ложными значениями понимаются значения: 0(нуль), ""(пустая строка) и зарезервированные слова null,false. Под истинным значением выступает зарезервированное слово true, ненулевое численное значение и непустые строки (и также строка "false"). Пример:

b1 = new Boolean();
b2 = new Boolean("abc");
b3 = new Boolean(false);
b4 = new Boolean("false");
document.writeln(b1," ",b2," ",b3," ",b4);
b2 = "abc";
document.writeln(b2);
b2 = Boolean("abc");
document.writeln(b2);

Результат:

false true false true
abc
true

Как видите значение переменная получает при создании, а при присваивании преобразование типов не происходит и значение портится.

Объект Date

Этот объект является очень важным, потому как других средств работы со временем в JavaScript не существует вообще. Создается объект Date по уже принятой структуре:

имя_переменной = new Date(значение_времени);	

Значение времени можно задать несколькими способами:

  1. Пустое значение устанавливает текущее время. Пример:
    today = new Date();
    
  2. Задание времени строкой вида "месяц день год час:минута:секунда". Пример:
    	date1 = new Date("December 15, 1997 16:57:00"). 
    	d1 = new Date("2000 jan 23 10:20");
    

    Значение месяца задается на английском языке в полной или сокращенной форме. Также допускается некая вольность в формате, и поэтому порядок следования месяца, года, дня и времени может быть изменен. Самое главное, чтобы месяц был задан своим названием, а во времени использовалось двоеточие для разделения часов и минут, тогда можно будет точно "декодировать" формат :) Значение секунд или времени вообще можно опустить, тогда секунды или время полностью примут нулевые значения.

  3. С помощью задания в численной форме года,месяца,дня или года,месяца,дня,часа,минуты,секунды. Пример:
    	d2 = new Date(1995,4,9,13,30,00);
    	document.writeln(d2);
    

    Отсчет месяцев в таком случае ведется с 0(нуля), а дней с 1. Если вместо для Вы подставите 0, то в результате будет уменьшен месяц и установлено число 30 или 31.

Задавать и получать значения дня, месяца, года, часов, минут и секунд можно с помощью специальных методов объекта:

  1. getDay() - получает значение дня недели (0..6). Установка дня недели происходит автоматически по календарю в зависимости от всех остальных параметров.
  2. getDate() - получает и setDate() - устанавливает день месяца (0..31).
  3. getMonth() - получает и setMonth() - устанавливает значение месяца ( 0 - январь ... 11 - декабрь)
  4. getYear() - получает и setYear() - устанавливает год (от 1900).
  5. toGMTString() - получает строку даты в принятом формате GMT.
  6. toLocaleString() - получает строку даты в формате установленном в системе или платформе.

Для работы со временем существуют еще два метода, которые действуют не на уже созданный объект, а просто используются как функции подсчета. Эти функции подсчитывают количество милисекунд прошедших от полуночи 1 января 1970 года на основе даты:

  1. parse() - преобразует строковое значение полной даты в количество прошедших милисекунд. Пример:
    Date.parse("2000 jan 23 10:20");
    d2 = new Date();
    Date.parse(d2.toGMTString());
    
  2. UTC(год,месяц,день,час,минута,секунда) - возвращает количество миллисекунд на основе численных данных даты, при этом используется универсальное координированное время (UTC). Значение секунд, минут и часов можно опускать послностью или по отдельности. Пример:
    Date.UTC(1995,4,9,13,30,00);
    Date.UTC(1997,0,3,9,30);
    

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.