Условный формат даты во Flash - PullRequest
1 голос
/ 18 апреля 2019

Я форматирую текущую дату в проекте AIR Mobile следующим образом:

var dateFormatter:DateTimeFormatter = new DateTimeFormatter( Capabilities.language );
dateFormatter.setDateTimePattern("EEEE d");
trace(dateFormatter.format(date));

Это прекрасно работает, но, поскольку у меня есть ограничение ширины (может отображаться только 12 символов), проблема заключается в том, чточто в некоторых языках, таких как португальский, формат EEEE возвращает Segunda-feria, что означает, что количество символов будет 16 (включая номер дня).

Есть ли способ поставить условное форматирование, означающее, что EEEE не может превышать более10 персонажей?(т.е. всегда используйте EEEE, но если оно превышает 12 символов, отображается EEE)

1 Ответ

2 голосов
/ 22 апреля 2019

Попробуйте что-то вроде этого:

var str_tmp: String ="";
var dateFormatter :DateTimeFormatter = new DateTimeFormatter( Capabilities.language );

dateFormatter.setDateTimePattern("EEEE d");

//# check for larger than 12 chars
str_tmp = dateFormatter.format(date);
if ( str_tmp.length > 12 ) { dateFormatter.setDateTimePattern("EEE d"); }

trace(dateFormatter.format(date));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...