Flash 中的条件日期格式

Posted

技术标签:

【中文标题】Flash 中的条件日期格式【英文标题】:Conditional date format in Flash 【发布时间】:2019-09-09 00:38:35 【问题描述】:

我正在按以下方式格式化 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)

【问题讨论】:

那你希望它显示成什么?一种方法是收集字符串长度并使用 dateString.splice(12, dateString.length) 将其缩短 在那里我添加了一个我要求的示例。 【参考方案1】:

试试这样的:

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));

【讨论】:

以上是关于Flash 中的条件日期格式的主要内容,如果未能解决你的问题,请参考以下文章

根据不同条件覆盖 ExtJs 4 中的日期字段格式

Access中的日期格式如何转换?

数据库中的八大函数(聚合,数字,字符串,日期和时间,条件,系统信息,加密,格式化)

表格日期计算时间段if函数多条件格式

根据条件决定My97DatePicker日期控件弹出的日期格式

sqlserver获取当前日期条件查询