flex dataGrid 日期格式转换

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
Aam/pm 标记。
J一天中的小时数 (0-23)。
H一天中的小时数 (1-24)。
Kam/pm 中的小时数 (0-11)。
Lam/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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值