Объект iDate

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск
< Назад Обновлено: 21 Ноября, 2014


Предназначение

iDate в отличии от Date может оперировать датами и временем в диапазонах от 1 января 100 года до 31 декабря 9999 года. iDate это представление даты в виде 64 битного числа с плавающей запятой.

Целая часть обозначает количество дней с 30 декабря 1899 года, то есть число 2 будет означать 1 января 1900 года, для того чтобы указать даты до 30 декабря 1899 года число должно быть отрицательное, например число -1 будет обозначать 29 января 1899 года.

Дробная часть определяет время, к примеру, чтобы увеличить время на 1 час нужно прибавить 1/24, а если нужно прибавить 1 минуту то 1/1440. Недостатком данного объекта является низкая точность при работе с миллисекундами, погрешность составляет +/-150 миллисекунд.

Создание

Без аргументов

При создании объекта без аргументов, создается объект, который инициализируется текущей датой и временем.

var date = new iDate();

IR.Log("Date " + date.year + "." + date.month + "." + date.days);
IR.Log("Time " + date.hours + ":" + date.minutes + ":" + date.seconds + "." + date.ms);
IR.Log("Value " + date.value);

Результат:

  • Date 2014.11.29
  • Time 20:49:20.778
  • Value 41972.86760159722

↑ К оглавлению

Один аргумент

Создание объекта используя один аргумент.

var date = new iDate(value);


Аргумент:

value - число с плавающей запятой, обозначающее совмещенное представление даты и времени.


Результат:
При создании объекта число с плавающей запятой преобразовывается в объект, из которго в свою очередь можно получить дату и время.

Примеры:
Создадим объект iDate, передав ему целое положительное число.

var d1 = new iDate(16384);

IR.Log("Date 1 " + d1.year + "." + d1.month + "." + d1.date);
IR.Log("Time 1 " + d1.hours + ":" + d1.minutes + ":" + d1.seconds + "." + d1.ms);
IR.Log("Value 1" + d1.value);

Результат:

  • Date 1 1944.11.8
  • Time 1 0:0:0.0
  • Value 1 16384


Создадим объект iDate, передав ему целое отрицательное число.

var d2 = new iDate(-16384);

IR.Log("Date 2" + d2.year + "." + d2.month + "." + d2.date);
IR.Log("Time 2" + d2.hours + ":" + d2.minutes + ":" + d2.seconds + "." + d2.ms);
IR.Log("Value 2" + d2.value);

Результат:

  • Date 2 1855.2.20
  • Time 2 0:0:0.0
  • Value 2 -16384

↑ К оглавлению

Более одного аргумента

Создание объекта с количеством аргументов больше чем один.

var date = new iDate(year, month, days, hours, minutes, seconds, ms);


Аргументы:

year - год
month - месяц
date - день
hours - часы
minutes - минуты
seconds - секунды
ms - миллисекунды


Результат:
При создании объекта происходит раздельное заполнение года, месяца, даты, часов, минут, секунд и миллисекунд. Если заполнены не все параметры, оставшиеся параметры заполняются текущим значением.


Примеры:
Создание объекта iDate, с текущими значениями даты и времени.

var cur = new iDate();

IR.Log("Cur Date " + cur.year + "." + cur.month + "." + cur.date);
IR.Log("Cur Time " + cur.hours + ":" + cur.minutes + ":" + cur.seconds + "." + cur.ms);
IR.Log("Cur Value" + cur.value);

Результат:

  • Cur Date 2014.11.29
  • Cur Time 21:6:45.128
  • Cur Value41972.879688981484


Создание объекта iDate, с указанием года и месяца

var date1 = new iDate(1999, 1);

IR.Log("Date 1 " + date1.year + "." + date1.month + "." + date1.date);
IR.Log("Time 1 " + date1.hours + ":" + date1.minutes + ":" + date1.seconds + "." + date1.ms);
IR.Log("Value 1 " + date1.value);


Результат:

  • Date 1 1999.1.29
  • Time 1 21:6:45.132
  • Value 1 36189.87968902778


Создание объекта iDate, с указанием года, месяца и числа

var date2 = new iDate(1999, 1, 21);

IR.Log("Date 2 " + date2.year + "." + date2.month + "." + date2.date);
IR.Log("Time 2 " + date2.hours + ":" + date2.minutes + ":" + date2.seconds + "." + date2.ms);
IR.Log("Value 2 " + date2.value);

Результат:

  • Date 2 1999.1.21
  • Time 2 21:6:45.133
  • Value 2 36181.87968903935


Создание объекта iDate, с указанием года, месяца, числа и часа

var date3 = new iDate(1999, 1, 21, 4);

IR.Log("Date 3 " + date3.year + "." + date3.month + "." + date3.date);
IR.Log("Time 3 " + date3.hours + ":" + date3.minutes + ":" + date3.seconds + "." + date3.ms);
IR.Log("Value 3 " + date3.value);

Результат:

  • Date 3 1999.1.21
  • Time 3 4:6:45.135
  • Value 3 36181.171355729166


Создание объекта iDate, с указанием года, месяца, числа, часа и минуты

var date4 = new iDate(1999, 1, 21, 4, 16);

IR.Log("Date 4 " + date4.year + "." + date4.month + "." + date4.date);
IR.Log("Time 4 " + date4.hours + ":" + date4.minutes + ":" + date4.seconds + "." + date4.ms);
IR.Log("Value 4 " + date4.value);

Результат:

  • Date 4 1999.1.21
  • Time 4 4:16:45.138
  • Value 4 36181.17830020833


Создание объекта iDate, с указанием года, месяца, числа, часа, минуты и секунды

var date5 = new iDate(1999, 1, 21, 4, 16, 12);

IR.Log("Date 5 " + date5.year + "." + date5.month + "." + date5.date);
IR.Log("Time 5 " + date5.hours + ":" + date5.minutes + ":" + date5.seconds + "." + date5.ms);
IR.Log("Value 5 " + date5.value);

Результат:

  • Date 5 1999.1.21
  • Time 5 4:16:12.139
  • Value 5 36181.17791827546


Создание объекта iDate, с указанием года, месяца, числа, часа, минуты, секунды и миллисекунды

var date6 = new iDate(1999, 1, 21, 4, 16, 12, 400);

IR.Log("Date 6 " + date6.year + "." + date6.month + "." + date6.date);
IR.Log("Time 6 " + date6.hours + ":" + date6.minutes + ":" + date6.seconds + "." + date6.ms);
IR.Log("Value 6 " + date6.value);

Результат:

  • Date 6 1999.1.21
  • Time 6 4:16:12.400
  • Value 6 36181.177921296294

↑ К оглавлению

Методы

Объект не имеет методов.

Свойства

Свойства доступны, как для чтения, так и для записи.

  • year - год
  • month - месяц
  • date - день
  • hours - часы
  • minutes - минуты
  • seconds - секунды
  • ms - миллисекунды
  • value - совмещенное представление даты и времени в виде числа с плавающей запятой

↑ К оглавлению