在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; }
相关推荐
这个类允许我们将日期对象转换为字符串,按照我们指定的格式进行显示。DateFormatter使用的是ICU(International Components for Unicode)的日期和时间模式,这些模式定义了日期和时间的显示方式。 例如,如果你想...
在Flex中,我们可以使用内置的Date对象处理日期,然后结合字符串方法来实现大写转换。 在提供的压缩包文件"ChineseDateLowerToUpper.as"中,很可能包含了一个名为`ChineseDateLowerToUpper`的ActionScript类。这个...
在Flex开发中,MX组件库提供了DateField控件用于显示和选择日期,但默认情况下,它的日期格式和语言通常是英文。然而,在中国的应用环境中,我们往往需要使用中文日期格式。这篇博客将指导你如何通过自定义来实现...
本篇文章将深入讲解如何在Flex 4的`DataGrid`中进行日期格式转换。 首先,我们需要引入`DateFormatter`组件。`DateFormatter`是Flex提供的一个类,用于将日期对象格式化为字符串。在MXML代码中,你可以通过以下方式...
有时候需要将其他类型的对象转换为字符串,这部分介绍了如何使用`toString()`方法来实现这一点。 **2.5 连接字符串** 字符串的连接也是常用的操作之一,这部分介绍了如何使用`+`运算符或`concat()`方法来连接多个...
在FLEX中,通常我们使用内置的Date对象来处理日期,使用String类的方法来处理字符串,而ASCB函数包则提供了一些额外的功能,比如将特定格式的字符串转换为日期对象,这在处理用户输入或解析日期数据时非常有用。...
`format()`方法将Date对象转换为字符串。 通过上述步骤,我们就能在Flex中获取并格式化当前时间以及当前时间减去一天的时间。这对于开发需要展示或处理日期和时间的Flex应用来说是非常基础且实用的技能。在实际应用...
- Java向Flex发送数据时,Java的数字类型会被转换为Flex的Number,字符串和布尔值保持不变,日期对象转换为Flex的Date,ArrayList转换为Flex的Array,Map转换为Flex的Object。 4. AMF(Action Message Format): ...
例如,你可以使用`JSON.parse()`方法将JSON字符串转化为ActionScript的对象结构,如Array或Object,同时`JSON.stringify()`方法则可以将ActionScript对象转化为JSON格式的字符串。 ```actionscript var json...
具体到JSON处理,Flex3提供了一个名为`mx.rpc.json.util.JSONUtil`的类,该类包含了`decode`和`encode`方法,分别用于将JSON字符串转换为ActionScript对象,以及将ActionScript对象转换为JSON字符串。例如: ```...
- Java 中的 `String`、`Boolean`(转换为字符串形式)和 `Character`(单个字符)也可以映射回 ActionScript 的 `String`。 5. **Date**: - ActionScript 的 `Date` 类型转换为 Java 的 `java.util.Date`。 - ...
创建DateFormatter对象后,通过设置formatString属性来定义输出的日期时间格式,然后调用format方法将Date对象转换为字符串。这种方式类似于在其他语言中使用日期时间类库的方法。 4. 日期时间操作的不足和改进 ...
在ExtJs中处理后台传递的Date对象并将其正确地显示在页面上,通常...这种方法避免了在后台将Date对象转换为字符串,提高了前后端交互的效率和灵活性。同时,由于使用了专门的日期渲染器,用户界面的显示也会更加友好。
字符串拥有多个方法,如length(获取字符串长度),concat(合并字符串),charAt(获取指定索引的字符),indexOf(查找字符首次出现的位置),split(按分隔符分割字符串),substr(截取子字符串),substring...
| String | `java.lang.String` | 字符串类型在Java与Flex中都使用String表示,可以直接转换。 | | XML | `org.w3c.dom.Document` | Flex中的XML对象可以转换为Java中的DOM文档对象模型。 | | XMLDocument | `org.w3...
默认值为空字符串。在部署到Web服务器时,通常需要设置此选项以匹配实际的应用程序上下文路径。 #### 9. contributor name **选项:** `contributor` **描述:** 用于设置最终SWF文件中的元数据信息。这有助于追踪...
len)`截取指定长度的子串,`substring(startIndex, endIndex)`和`slice(startIndex, endIndex)`类似,用于截取字符串的一部分,`toUpperCase()`和`toLowerCase()`分别将字符串转换为大写和小写。 在数字计算方面,...