Flex中如何利用String类的replace()和Date.parse()函数对ISO格式日期进行解析的例子

By Minidxer | March 19, 2009

接下来的例子演示了Flex中如何利用String类的replace()和Date.parse()函数,对ISO格式日期进行解析。关于ISO格式日期请参考:http://www.w3.org/TR/NOTE-datetime

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white"
  6.         creationComplete="init();">
  7.  
  8.     <mx:Script>
  9.         <![CDATA[
  10.             [Bindable]
  11.             private var d:Date;
  12.  
  13.             private function init():void {
  14.                 var isoStr:String = "2008-01-25T06:14:23Z";
  15.                 d = isoToDate(isoStr);
  16.                 formHeading.label = isoStr;
  17.             }
  18.  
  19.             private function isoToDate(value:String):Date {
  20.                 var dateStr:String = value;
  21.                 dateStr = dateStr.replace(/-/g, "/");
  22.                 dateStr = dateStr.replace("T", " ");
  23.                 dateStr = dateStr.replace("Z", " GMT-0000");
  24.                 return new Date(Date.parse(dateStr));
  25.             }
  26.         ]]>
  27.     </mx:Script>
  28.  
  29.     <mx:Form>
  30.         <mx:FormHeading id="formHeading" />
  31.         <mx:FormItem label="toString():">
  32.             <mx:Label text="{d.toString()}" />
  33.         </mx:FormItem>
  34.         <mx:FormItem label="toLocaleString():">
  35.             <mx:Label text="{d.toLocaleString()}" />
  36.         </mx:FormItem>
  37.         <mx:FormItem label="toUTCString():">
  38.             <mx:Label text="{d.toUTCString()}" />
  39.         </mx:FormItem>
  40.     </mx:Form>
  41.  
  42. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Other | No Comments » | Tags: , , , ,

Search Posts