http://hi.baidu.com/lushaofeng21/blog/item/0aaf8ffba5785b1b6c22eb37.html
写道
have been trying to find a really fast way to parse yyyy-mm-dd [hh:mm:ss] into a Date object. Here are the 3 ways I have tried doing it and the times it takes each method to parse 50,000 date time strings.
Does anyone know any faster ways of doing this or tips to speed up the methods?
castMethod1 takes 3673 ms
castMethod2 takes 3812 ms
castMethod3 takes 3931 ms
private function castMethod1(dateString:String):Date {
if ( dateString == null ) {
return null;
}
var year:int = int(dateString.substr(0,4));
var month:int = int(dateString.substr(5,2))-1;
var day:int = int(dateString.substr(8,2));
if ( year == 0 && month == 0 && day == 0 ) {
return null;
}
if ( dateString.length == 10 ) {
return new Date(year, month, day);
}
var hour:int = int(dateString.substr(11,2));
var minute:int = int(dateString.substr(14,2));
var second:int = int(dateString.substr(17,2));
return new Date(year, month, day, hour, minute, second);
}
-
private function castMethod2(dateString:String):Date {
if ( dateString == null ) {
return null;
}
if ( dateString.indexOf("0000-00-00") != -1 ) {
return null;
}
dateString = dateString.split("-").join("/");
return new Date(Date.parse( dateString ));
}
-
private function castMethod3(dateString:String):Date {
if ( dateString == null ) {
return null;
}
var mainParts:Array = dateString.split(" ");
var dateParts:Array = mainParts[0].split("-");
if ( Number(dateParts[0])+Number(dateParts[1])+Number(dateParts[2]) == 0 ) {
return null;
}
return new Date( Date.parse( dateParts.join("/")+(mainParts[1]?" "+mainParts[1]:" ") ) );
}
分享到:
相关推荐
var monthStr:String = String(date.getMonth() + 1); var dayStr:String = String(date.getDate()); // 将数字转换为大写 yearStr = yearStr.toUpperCase(); monthStr = monthStr.toUpperCase(); dayStr = ...
根据给定的文件信息,以下是关于“Flex连接数据库的三种方法”的详细知识点: ### Flex连接数据库的方法概述 Flex是Adobe公司推出的一种用于构建高性能、高交互性的RIA(Rich Internet Applications)的应用程序...
var parsedDate:Date = dateFormatter.parse(dateString); ``` 需要注意的是,如果输入的字符串格式与`formatString`不匹配,`parse()`方法可能会抛出错误。 此外,Flex还支持使用ICU的区域设置来处理不同国家/地区...
### Flex与Java联合连接数据库详解 #### 一、引言 在现代Web开发中,Flex是一种流行的客户端技术,用于构建富互联网应用(RIA)。然而,Flex本身并不具备直接访问数据库的功能,它需要通过中间层服务如HTTP Service...
### Flex连接数据库的3种方式详解 Flex是一种用于构建高性能且具有丰富交互性的Web应用程序的开发框架。然而,Flex本身并不能直接与数据库进行通信。为了实现这一功能,开发者需要利用几种间接的方式。本文将详细...
<mx:DateField id="startDate" editable="false" selectedDate="{newDate()}" formatString="YYYY-MM-DD" dayNames="[,һ,,,,,]" monthNames="[һ,,,,,,,,,ʮ,ʮһ,ʮ]"/> ``` 这里通过`selectedDate="{newDate()}...
- **Date**:Flex的Date对象映射为Java的java.util.Date。 - **Boolean**:对应Java的boolean。 - **ArrayCollection**:通常映射为Java的List接口实现,如ArrayList。 2. **Java到ActionScript的类型转换**: ...
Employee createEmployee(String name, String title, boolean gender, Date birth); void deleteEmployee(String id); Employee[] queryByName(String name); Employee[] queryAll(); } 现在,Java EE...
- 当Flex向Java发送数据时,Flex的Number类型会被转换为Java的double类型,String、Boolean、Date等保持不变,Array会转换成ArrayList或自定义的Java对象数组。 - Java向Flex发送数据时,Java的数字类型会被转换为...
更多信息参见《Adding metadata to SWF files》。 #### 10. creator name **选项:** `creator` **描述:** 同样用于设置最终SWF文件中的元数据信息,此处主要记录创建者的名称。这对于版权归属和作品追溯非常重要...
Flex中的Date对象提供了多个方法来处理日期,如`getUTCMonth()`、`getFullYear()`、`getDate()`和`getDay()`,以及使用`format`方法来定制日期的显示格式。 14. **SWF交互**: 不同的SWF文件之间可以通过`...
Employee createEmployee(String name, String title, boolean gender, Date birth); void deleteEmployee(String id); Employee[] queryByName(String name); Employee[] queryAll(); } 现在,Java EE...
Employee createEmployee(String name, String title, boolean gender, Date birth); void deleteEmployee(String id); Employee[] queryByName(String name); Employee[] queryAll(); } ``` 接下来,实现这个...
### Flex文件的上传下载知识点详解 #### 一、引言 在现代Web应用程序开发中,文件的上传与下载是一项常见的需求。随着Flex框架的发展,这一功能的实现也变得越来越便捷。Flex是一种开源的软件框架,它允许开发者...
除了基本的解析和序列化,Flex还支持JSON数据类型的自动转换,如Date、Number等。此外,对于那些没有明确的AS3映射的JSON属性,Flex会将其转换为Object类型,以保持数据的完整性。 在实际开发中,为了使用这些功能...
var selectedDateTime:Date = dateTimeField.selectedDate; ``` 6. **自定义样式** Flex允许开发者通过CSS样式来定制DateTimeField的外观,如边框颜色、背景色、字体大小等。可以定义皮肤类或直接在MXML中设置...
public function selectDateTime(item:Date):String { return item.fullYear + "-" + item.month + "-" + item.dateUTC + " " + item.hours + ":" + item.minutes + ":" + item.seconds; }
在处理JSON时,可能需要用到as3core库中的类,如Object、Array、XML和Date等,它们在序列化和反序列化过程中起到关键作用。 具体到JSON处理,Flex3提供了一个名为`mx.rpc.json.util.JSONUtil`的类,该类包含了`...
在Flex中,我们可以使用内置的Date类来处理日期和时间。Date类提供了丰富的API,可以用于创建、比较、修改和格式化日期。 1. **获取当前时间**: 要获取系统当前的日期和时间,可以创建一个Date对象的实例,不传入...