您的位置:首页 > 其它

flex dataGrid 日期格式转换

2012-05-10 12:12 183 查看
flex dataGrid 日期格式转换

第一:拉个DateFormatter 控件
<mx:DateFormatter id="df" formatString="YYYY-MM-DD"/>
第二:写个函数
private function formatStart(item:Object,column:DataGridColumn):String{
return df.format(item.startDate);// df是一个DateFormatter,这里格式化item数据中的startDate字段
}
第三:
.........
<mx:DataGridColumn headerText="endDate" dataField="endDate" labelFunction="formatStart"/>
.........
有了这三个,显示数据已经没有问题了。其实也可以这样用,如在函数中
regTime.text=df.format(memberResult.registeTime);//返回的格林治时间格式化为YYYY-MM-DD格式
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.utils.ObjectUtil;
private function formatStart(item:Object,column:DataGridColumn):String{
return df.format(item.dob);// df是一个DateFormatter,这里格式化item数据中的startDate字段
}
]]>
</mx:Script>
<mx:ArrayCollection id="arrColl">
<mx:source>
<mx:Array>
<mx:Object name="User A" dob="04/14/1980" />
<mx:Object name="User B" dob="01/02/1975" />
<mx:Object name="User C" dob="12/30/1977" />
<mx:Object name="User D" dob="10/27/1968" />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
<mx:DateFormatter id="df" formatString="YYYY-MM-DD"/>//formatString="YYYY-MM-DD" 精确到年月日,精确到时分秒则是YYYY-MM-DD H:NN:SS
<mx:DataGrid id="dataGrid" dataProvider="{arrColl}">
<mx:columns>
<mx:DataGridColumn dataField="name"
headerText="Name:" />
<mx:DataGridColumn dataField="dob"
headerText="Date of birth:"
labelFunction="formatStart"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
<mx:DateFormatter id="df" formatString="YYYY-MM-DD"/>
formatString格式定义:

formatString
属性

formatString:String []
掩码模式。
使用特定的大写字母组成模式 String,如 YYYY/MM。
DateFormatter模式 String 既可以包含模式字母,也可以包含其它文本。要形成有效的模式 String,只需要一个模式字母。
下表描述了有效的模式字母:

Y
年份. 如果有两个模式字母,则年份将截断为两位数字;否则,年份将以四位数字形式出现。年份可以用零补齐,如下面一组示例中第三个示例所示:

YY = 05

YYYY = 2005

YYYYY = 02005

M
一年中的月份。其格式取决于下列条件:

如果有一个模式字母,则格式将设置为一位或两位数值。

如果有两个模式字母,则格式将设置为两位数值。

如果有三个模式字母,则格式将设置为短文本。

如果有四个模式字母,则格式将设置为完整文本。

示例:

M = 7

MM= 07

MMM=Jul

MMMM= July

D
一月中的日期。尽管对于日期而言使用单个字母模式的字符串就有效,但通常使用两个字母模式的字符串。示例:

D=4

DD=04

DD=10

E
星期中的天。其格式取决于下列条件:

如果有一个模式字母,则格式将设置为一位或两位数值。

如果有两个模式字母,则格式将设置为两位数值。

如果有三个模式字母,则格式将设置为短文本。

如果有四个模式字母,则格式将设置为完整文本。

示例:

E = 1

EE = 01

EEE = Mon

EEEE = Monday

A
am/pm 标记。

J
一天中的小时数 (0-23)。

H
一天中的小时数 (1-24)。

K
am/pm 中的小时数 (0-11)。

L
am/pm 中的小时数 (1-12)。

N
小时中的分钟数。示例:

N = 3

NN = 03

S
分钟中的秒数。示例:

SS = 30

其它文本。
可以在模式字符串中添加其它文本,以进一步设置字符串格式。可以使用标点、数字和所有小写字母。应该避免使用大写字母,因为大写字母可能被解读为模式字母。示例:

EEEE, MMM. D, YYYY at L:NN A = Tuesday, Sept. 8, 2005 at 1:26 PM

得到当前时间和时间加两天

Calendar beginDate= new GregorianCalendar();
beginDate.add(GregorianCalendar.DATE,2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: