Flash中的条件日期格式

问题描述 投票:1回答:1

我通过以下方式格式化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)

actionscript-3 flash air
1个回答
2
投票

尝试这样的事情:

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));
© www.soinside.com 2019 - 2024. All rights reserved.