Форматирование даты и времени в 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

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

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

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

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): Елена
Дата добавления: 2014-12-03
Здравствуйте..
Выводит правильную дату и время..
А подскажите,пожалуйста..Как я могу вывести это в флеш ролик.
Ну чтобы ..с временной шкалой связать
Или так не возможно..???
Меня trace c толку сбивает
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2014-12-03
Проверьте почту - там должен быть архив. В архиве есть файл -на проверку-. Это ваша же флешка, но только дату я вывожу в текстовое поле. Ошибок в исходнике у меня не выскакивало. Может, у вас что-то не так с настройками программы.
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2014-12-03
А вы мне точно тот исходник прислали? У меня всё работает.
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2014-12-03
Давайте не будем гадать и вы сбросите архив со всеми исходниками на мою почту - edapskov@yandex.ru . А я постараюсь вечером-ночью ответить.
Комментатор
Комментарий добавил(а): Татьяна
Дата добавления: 2014-12-03
Добрый вечер! У меня почему-то в Классе DateFormat в 4-й строке выдает ошибку: "синтаксическая ошибка:ожидалось ключевое слово определения (как функция) после атрибута общественного, а не класса" Я во всех этих делах ... подскажите, пожалуйста, мне чайнику как это исправить. Спасибо!
Добавить комментарий:







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

Идиот-тест

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

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