Изпратете запитване:
Полетата маркирани със звезда (*) са задължителни за попълване.
Vinaora Nivo SliderVinaora Nivo SliderVinaora Nivo Slider
1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

За да приложим математически операции към дати, трябва първо да създадете екземпляр на класа Date (ActionScript Date). В крайна сметка вие можете да добавят необходимото количество секунди, минути, часове, дни, седмици, години към зададената дата и да вадите от нея.

Също е възможно да събирате и изваждате дати, за да изчислите продължителността между тях.

Вие не можете да изпълнявате математически операции с екземпляри на класа Date непосредствено, тъй като тези екземпляри се явяват обекти, а математическите операции се изпълняват с числа (Number). Но екземплярите на класа Date имат свойство time, което представлява промеждутъкът от време в милисекунди от 1 януари1970 година до настоящия момент. Като извадите това свойство на два екземпляра на класа  Date вие можете да изчислите интервала между двете дати.

След като получите числото, вие можете да използвате прости математически операции за да го превърнете в по-подходящ вид. Например, ако трябва да разберете колко дни има между две дати, вие трябва да създадете два екземпляра на класа Date (ActionScript Date) – един за първата дата, друг за втората. След това разделяте полученото число на 1000 за да получите количеството секунди, след това на 60 за да получите минутите, още на 60 за да получите часовете и накрая на 24 за да получите дните. За да закръглите полученото число използвайте метода round() на класа Math.

ActionScript Date. Прилагане на математически операции към дати

Създайте променливи Actionscript, като запишете:

var today:Date = new Date(2014, 10, 11); 
var newYear:Date = new Date(2015, 0, 1);
var todayTime:Number = today.time;
var newYearTime:Number = newYear.time;
var millisLeft:Number = todayTime - newYearTime;
var daysLeft:Number = Math.round(millisLeft/1000/60/60/24);
trace(today);
trace(newYear);
trace(todayTime);
trace(newYearTime);
trace(millisLeft);
trace(daysLeft);

acctionscript code

Допълнителна информация

Вероятно ще ви се стори странно, защо свойството time на класа Date (ActionScript Date) връща количество милисекунди, изминали от датата  1 януари 1970 г. Тази дата е известна като UNIX епоха (UNIX Epoch). Изобщо, проблемът с изчисляването на датите е следният: няма стандартна единица за извършване на тези операции. В минутата има 60 секунди, в денонощието - 24 часа, дните в месеца са различни на брой. И макар, че е напълно възможно да се изчисли промеждутък от време между две дати, за да се получи верен резултат са нужни малко повече усилия. Ако разликата между двете дати се измерва с години, проблемът се усложнява още повече, тъй като съществуват високосни години.

Но решение на проблема е намерен, въвеждайки в изчисленията на гореспоменатата UNIX епоха. Конвертирането на датата в просто число (Number) – брой милисекунди, изминало от определена дата – прави цялата тази аритметика значително по-лека с помощта на компютъра. Изборът на тази конкретна дата, 1 януари 1970 г., бил произволен.

Имате въпрос?

Потърсете отговор в нашите
Често Задавани Въпроси
или се свържете с нас

phone 0878 679 639
mail Пишете ни
skype AртСторм