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:String
[]
掩码模式。
使用特定的大写字母组成模式 String,如 YYYY/MM。
DateFormatter模式 String
既可以包含模式字母,也可以包含其它文本。要形成有效的模式 String,只需要一个模式字母。
下表描述了有效的模式字母:
|
| Y |
年份.
如果有两个模式字母,则年份将截断为两位数字;否则,年份将以四位数字形式出现。年份可以用零补齐,如下面一组示例中第三个示例所示:
- YY = 05
- YYYY = 2005
- YYYYY = 02005
|
| M |
一年中的月份。其格式取决于下列条件:
- 如果有一个模式字母,则格式将设置为一位或两位数值。
- 如果有两个模式字母,则格式将设置为两位数值。
- 如果有三个模式字母,则格式将设置为短文本。
- 如果有四个模式字母,则格式将设置为完整文本。
示例:
- M = 7
- MM= 07
- MMM=Jul
- MMMM= July
|
| D |
一月中的日期。尽管对于日期而言使用单个字母模式的字符串就有效,但通常使用两个字母模式的字符串。示例:
|
| 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 |
小时中的分钟数。示例:
|
| S |
分钟中的秒数。示例:
|
| 其它文本。 |
可以在模式字符串中添加其它文本,以进一步设置字符串格式。可以使用标点、数字和所有小写字母。应该避免使用大写字母,因为大写字母可能被解读为模式字母。示例:
- 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);
加载中,请稍候......