Форматирование даты и времени в ActionScript 3.0

Я думаю, что все флешеры рано или поздно сталкивались с необходимостью форматирования даты-времени. Конечно, ничего сверхсложного в таком форматировании нет. Но всё же пользовательский класс DateFormat способен сильно упростить решение этой задачи для языка ActionScript 3.0.

Как явствует из самого названия, класс DateFormat осуществляет форматирование даты/времени. Но как он это делает? А делает он это точно также, как функция date в языке PHP. Подробно я на этом останавливаться не буду, так как имеется официальная документация по данной функции на русском языке, с которой вы можете ознакомиться на php.net (просто кликните по данной ссылке и откроется соответствующая страница с подробным описанием функции date).

Небольшой пример. Например, мы хотим с помощью функции date языка PHP получить текущую дату и время в следующем формате:

День:Месяц:Год Часы:Минуты:Секунды

Для этого нам понадобиться написать буквально одну строчку php-кода.

Код PHP:

<?php echo date("d:m:Y h:i:s"); ?>

Данный скрипт вернёт мне дату и время в следующем формате:

14:12:2011 11:28:41

Естественно, что у вас значения даты и времени будут другими. Но тут важен факт их форматирования, а не сами значения. В принципе, вы можете проверить работу данного скрипта - нажмите здесь.

С помощью класса DateFormat подобное форматирование становится доступным и в ActionScript 3.0.

Код ActionScript 3.0:

/* получаем текущее время и дату */ var date:Date = new Date(); /* форматируем время и дату приводим их к формату: День:Месяц:Год Часы:Минуты:Секунды */ trace(DateFormat.formatDate("d:m:Y h:i:s", date));

Согласитесь, так проще и быстрее:-)

Приведём ещё один пример. Например, мы хотим вывести текущую дату в формате:

День Название_месяца Год

Код ActionScript 3.0:

/* получаем текущее время и дату */ var date:Date = new Date(); /* форматируем дату */ trace(DateFormat.formatDate("d F Y", date));

Код вернёт следующую строку:

14 December 2011

Как видите, тоже сработало. Что мне тут не нравится? А не нравятся мне тут варварские названия месяцев (и дней недели, кстати, тоже). Но и это не проблема. Дело в том, что класс DateFormat хранит названия дней недели и месяцев в виде массивов. И никто не мешает нам эти массивы заменить на свои, в которых названия дней недели и месяцев на русском языке. Для этого открываем класс DateFormat в вашем любимом редакторе и делаем следующее:

Код ActionScript 3.0:

/* закомментируем массивы, которые хранят названия дней недели и месяцев */ //public static var MONTHS:Array = ["January","February","March","April","May","June","July","August","September","October","November","December"]; //public static var DAYS:Array = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; /* переведём значения массивов на русский язык */ public static var MONTHS:Array = ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"]; public static var DAYS:Array = ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"];

Теперь класс DateFormat будет возвращать русские названия дней недели и месяцев. Есть и другой способ перевести названия дней недели и месяцев с варварского на русский. Этот способ не требует внесения изменений в сам класс DateFormat и, кстати, является более правильным, чем предыдущий:

Код ActionScript 3.0:

/* получаем текущее время и дату */ var date:Date = new Date(); /* переводим названия дней недели и месяцев на русский язык */ DateFormat.MONTHS = ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"]; DateFormat.DAYS = ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]; /* форматируем дату */ trace(DateFormat.formatDate("d F Y", date));

На этом всё, что я хотел рассказать о полезном классе DateFormat. Сам класс можно скачать здесь.

Автор: admin

Дата добавления: 2011-12-15

Просмотров: 7617

Рейтинг поста: +10-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2017-05-27
Если я вас правильно понял, то как-то так:

/*
подключаем
*/
import DateFormat;
/*
обновляем
*/
var timer:Timer = new Timer(100, 0);
timer.addEventListener(TimerEvent.TIMER, onTickFunc);
timer.start();
function onTickFunc(event:TimerEvent):void
{
/*
получаем текущее время
*/
var now:Date = new Date();
/*
выводим в текстовое поле
*/
date_txt.text = DateFormat.formatDate("d:m:Y h:i:s", now);
}
Комментатор
Комментарий добавил(а): Дима
Дата добавления: 2017-05-26
Здравствуйте, скажите пожалуйста, как сделать постоянно обновляющееся время (по секундам тикает)?
Комментатор
Комментарий добавил(а): яповчанка
Дата добавления: 2015-10-20
>Дык, так и было в том исходнике, который я вам давал...
А в моем,который я вам давала,было не так...
И я никак не могла понять,почему у вас все оки.. а у меня,нет..)))
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2015-10-20
Дык, так и было в том исходнике, который я вам давал...
Комментатор
Комментарий добавил(а): яповчанка
Дата добавления: 2015-10-20
Поняла!!!
..точку регистрации sample_mc надо было указать в левом верхнем углу(было по центру).
Зря грешила на код..сомнения развеяны..
Комментатор
Комментарий добавил(а): Татьяна
Дата добавления: 2014-12-14
Здравствуйте! Подскажите пожалуйста, а можно ли в календарике выделить цветом текущую дату и как ? Спасибо.
Комментатор
Комментарий добавил(а): Елена
Дата добавления: 2014-12-04
Спасибо.Получила.
Оказывается,все так просто.
Очень благодарна за Вашу отзывчивость и помощь)))
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2014-12-04
Елена, проверьте почту - там должен быть исходник с выводом даты в текстовое поле.
Комментатор
Комментарий добавил(а): Елена
Дата добавления: 2014-12-04
"А разве не вам я сейчас исходник отправил, где дата выводится в текстовое поле?"
Нет..Сегодня я от вас ничего не получала..
Здесь комменарий прочла..
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2014-12-03
> А подскажите,пожалуйста..Как я могу вывести это в флеш ролик.

А разве не вам я сейчас исходник отправил, где дата выводится в текстовое поле?
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Страница 1 из 2: 12
Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика