ActionScript 3 - Самый быстрый способ для разбора YYYY-MM -DD HH : MM: SS длясдачи объекта ?

я пытался найти по-настоящему быстрый способ анализа yyyy-mm-dd [чч:мм:СС] в объекте Date. Вот 3 способа я старался делать это, и раз она принимает каждый метод parse 50,000 даты и времени строки.

кто-нибудь знает быстрый способ сделать это или советы, чтобы ускорить методы?

castMethod1 принимает 3673 ms
castMethod2 принимает 3812 ms
castMethod3 принимает 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]:" ") ) );
}

Нет, Date.parse не будет обрабатывать тире по умолчанию. И мне нужно, чтобы возвратить null для даты и времени строки, как "0000-00-00".

Найдено 6 ответов:

Actionscript 3 - Fastest way to parse yyyy-mm-dd hh:mm:ss to a Date object?

http://stackoverflow.com/questions/3163/actionscript-3-fastest-way-to-parse-yyyy-mm-dd-hhmmss-to-a-date-object

Посмотреть решение →