mysql数据库中存储的日期类型通过PHP返回到flex端为字符串类型,这样在flex中进行处理时就必须要将字符串转化为Date类型。如果仅仅是 "年/月/日" 的组合,而没有涉及到”时/分/秒“那么直接使用DateField的静态方法stringToDate()就可以实现,方法如下:
var strToday:String = "2011-3-12";
var dateToday:Date = DateField.stringToDate(strToday, "YYYY-MM-DD");
需要注意的是,第二个参数是字符串中日期的格式,必须跟字符串中日期的格式相同,否则就会出错。
但是,这里我遇到的问题是,字符串中包含到”时/分/秒“,而文档上写的也很明白DateField只能转化”年/月/日“,Google了一圈也没找到解决方法,不过爬了一下文档还是找到了,方法是使用——DateFormatter,例子如下:
var strToday:String = "2011-3-12 15:59:06"
var formatter:DateFormatter;
var mydate:Date = DateFormatter.parseDateString(strToday);这样就能正确得到一个Date类型,可以获取年月日时分秒了。但是,得到的并不是"2011-3-12 15:59:06"这样的自定义格式,要想还原为这样的格式还得用formater进行字符串格式化,foramtter的使用这里就不赘述。