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);
第一:拉个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);
相关文章推荐
- Flex DataGrid 日期格式转换
- flex dataGrid 日期格式转换
- flex dataGrid 日期格式转换
- flex中datagrid显示格式化的日期可用labelFunction函数来处理
- flex DataGrid按数字顺序,字母,日期顺序排序
- flex DataGrid按数字顺序,字母,日期顺序排序
- 日期格式转换
- flex4 日期类型字符串转日期类型(string转Date)
- flex的datagrid中怎么添加两个checkbox用于单选?
- flex AdvancedDataGrid表格联动
- POJ-3751 时间日期格式转换-24小时制/12小时制
- Springmvc接收前台字符串类型日期格式转换
- flex datagrid
- mysql中的日期格式转换
- flex advanceddatagrid禁止排序,不显示排序倒三角按钮,判断是否有某个属性或方法
- flex中使dataGrid每行都有button
- Flex 3 AdvancedDataGrid的使用(八)
- flex Datagrid checkbox
- 为Flex 2 DataGrid加上行号
- flex datagrid 设置超链接