在Flex中,要通过传入时间的字符串和格式字符串的方式来转换出Date,Flex本身没有完善的方法,不知道Adobe在想什么,这么简单实用的功能都没有.(回想起来,还是java神马的好)
在网上找了好久都没有完善的解决方案,最后偶然发现DateField带着一个StringToDate的静态方法,但是只支持"年月日"的日期格式,不支持"时分秒"等的时间格式,于是对其功能进行了扩展.
闲话不多扯,下面是源代码,拿去直接可以用.
目前只扩展到了对"年月日时分秒".
ActionScript:
public function string2Date(valueString:String, inputFormat:String):Date { var mask:String var temp:String; var dateString:String = ""; var monthString:String = ""; var yearString:String = ""; var hourString:String = ""; var minuteString:String = ""; var secondString:String = ""; var j:int = 0; var n:int = inputFormat.length; for (var i:int = 0; i < n; i++,j++) { temp = "" + valueString.charAt(j); mask = "" + inputFormat.charAt(i); if (mask == "M") { if (isNaN(Number(temp)) || temp == " ") j--; else monthString += temp; } else if (mask == "D") { if (isNaN(Number(temp)) || temp == " ") j--; else dateString += temp; } else if (mask == "Y") { yearString += temp; } else if(mask=="J") { if (isNaN(Number(temp)) || temp == " ") j--; else hourString += temp; } else if(mask=="N") { if (isNaN(Number(temp)) || temp == " ") j--; else minuteString += temp; } else if(mask=="S") { if (isNaN(Number(temp)) || temp == " ") j--; else secondString += temp; } else if (!isNaN(Number(temp)) && temp != " ") { return null; } } temp = "" + valueString.charAt(inputFormat.length - i + j); if (!(temp == "") && (temp != " ")) return null; var monthNum:Number = Number(monthString); var dayNum:Number = Number(dateString); var yearNum:Number = Number(yearString); var hourNum:Number = Number(hourString); var minuteNum:Number = Number(minuteString);//如果字符串为空会转换成0 var secondNum:Number = Number(secondString); if (isNaN(yearNum) || isNaN(monthNum) || isNaN(dayNum)) return null; if (yearString.length == 2 && yearNum < 70) yearNum+=2000; var newDate:Date = new Date(yearNum, monthNum - 1, dayNum,hourNum,minuteNum,secondNum); if (dayNum != newDate.getDate() || (monthNum - 1) != newDate.getMonth()) return null; return newDate; }
相关推荐
Flex 中的字符串 与 整数转换 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
flex4 dataGrid 日期格式转换,flex4 dataGrid 日期格式转换.doc
用于各种编码的字符串之间的转换,写成了一个类,可以方便的调用
呵呵,其实我用的时间不多,还接触这个不到3个月吧,哎,所以很多地方都需要不断的进行更正了.
博文链接:https://hacker47.iteye.com/blog/182262
flex DataGrid中文字符排序类 用法见 http://blog.sina.com.cn/s/blog_5fc933730100iign.html
可以很好地将JSon字符串转换为Flex对象,很方法JParser.encode()正好相反,其它的使用请参考JSwoof官方网站的文档:http://www.waynemike.pwp.blueyonder.co.uk/jswoof/sub-pages/getting-started.html或者资源包中...
Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex ...
flex中文帮助flex中文帮助flex中文帮助flex中文帮助
原Rxlsx不支持日期格式,读取日期单元格的数据会变成数字,本人将excel的日期格式整理出来,并在读取的时候重新将数字转换回格式,进一步完善了类库的功能。该类库的用法非常简单,只需加载完成excel文件后执行: ...
很久没有留意CSDN资源下载,有人评论说之前下载的Flex4.0中文API打不开,对此我深表歉意,重新上传了一份rar格式的,我测试可以打开,并且发给几个同事帮测试也可以打开,希望能给flex开发的朋友带来点帮助。
flex blazeds的入门例子,里面就一个String型的方法,在flex上输入字符串,返回一个java的字符串。
用过FLEX中String类型的朋友可能知道,replace这个方法并不过替换所有内容。那么我们需要替换所有内容怎么办?
完整的Flex中文帮助文档 pdf 格式 想学flex的朋友进
flex的组件参考手册 中文 CHM格式
flex Date 日期转换 推算向前后 加减多少小时 多少天 多少分秒的时间 application文件 下载直接运行 看效果
什么是lex/flex? 学习LEX(FLEX)的语法结构,学会如何写LEX程序。 Lex是Lexical Compiler的缩写,是Unix环境下非常著名的工具。 实现对以小写字母ab结尾的字符串(只包含大小写字母)的识别,如Helloab和Goab。 注意...
FLEX强制类型转换FLEX强制类型转换FLEX强制类型转换FLEX强制类型转换FLEX强制类型转换
flex中文帮助文档flex中文帮助文档
Flex 加载Base64编码的二进制字符串图片实现代码。