使用多个字符拆分字符串

时间:2011-02-14 19:27:42

标签: actionscript-3 string date time flex4

我需要的是简单的事情,我有能够保存数据的字符串 - 从MySQL格式的mySQL中重新获得时间HH:MM:SS YY-MM-DD我需要的是将actionscript中的这个字符串拆分为这样的数字数组 HH MM SS YY MM DD

所以我可以将它与当前时间进行比较,任何人都知道如何首先使用多个分隔符进行拼接,然后将其与当前时间进行比较。这是我迄今为止的工作

            var param:Array = datetime.split(" :-");

            var currentTime:Date = new Date();
            var seconds:uint = currentTime.getSeconds();
            var minutes:uint = currentTime.getMinutes();
            var hours:uint = currentTime.getHours();
            var days:uint = currentTime.getDay();
            var monthes:uint = currentTime.getMonth();
            var years:uint = currentTime.getFullYear();

            if(int(param[3]) > years)
                return years + " سنة ";
            if(int(param[4]) > monthes)
                return monthes + " شهر ";
            if(int(param[5]) > days)
                return days + " يوم ";
            if(int(param[0]) > hours)
                return hours + " ساعة ";
            if(int(param[1]) > minutes)
                return minutes + " دقيقة ";
            if(int(param[2]) > seconds)
                return seconds + " ثانية ";

            return param[0] + " يوم "; 

`

3 个答案:

答案 0 :(得分:2)

Split允许分隔符为regexp,因此您可以这样或那样说。像这样:

myStr.split(/:|-/)
祝你好运!

答案 1 :(得分:1)

您可以使用多个字符,用竖线|

分隔
myStr.split(/:|-|[|\(|\)]/)

确保使用\,如果你使用()和类似的,那么()

答案 2 :(得分:0)

要解决您的具体问题,您可以考虑将字符替换为相同的字符,然后将其拆分。使用datetime.replace(/[ :-]/g, "|")然后拆分“|”。 (我没有检查正则表达式的正确性。) Tyler所说的更优雅:datetime.split(/[ -:]/)。我支持其余部分:

MySQL输出(通过php?)是标准的日期符号。您可以尝试使用Date.parse(dateString)从中获取时间戳,并将其作为唯一的构造函数参数传递给日期对象:

recordedTime = new Date(Date.parse(datetime));

然后,您可以直接比较两个日期对象。

if (recordedTime.getFullYear() > currentTime.getFullYear()) { ... }

希望它有所帮助。