2011-02-14 134 views
2

我需要的是简单的东西,我有一个字符串,它可以让数据 - 时间从mySQL格式恢复为mySQL格式HH:MM:SS YY-MM-DD我需要的是将这个字符串拆分为actionscript这样 HH MM SS YY MM DD使用多字符字符串的拆分字符串

这样就可以与当前时间进行比较的数字阵列,任何一个知道如何使用多个分隔符起初splite,然后将其与当前时间进行比较。这是我的工作,到现在为止

  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] + " يوم "; 

`

回答

0

为了解决您的具体问题,你可能会考虑更换字符是相同的,然后拆上一个。使用 datetime.replace(/[ :-]/g, "|"),然后拆分“|”。 (我没有检查正则表达式的正确性)。 Tyler说的更优雅:datetime.split(/[ -:]/)。我代表休息,但:

什么MySQL输出(通过php?)是一个标准的日期符号。你可以尝试使用Date.parse(dateString)从它那里得到一个时间戳,并将其转换成那个Date对象通过将其作为唯一的构造函数的参数:

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

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

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

希望它有帮助。

+0

这就是我一直在寻找,非常感谢 – Khaled 2011-02-16 10:14:10

+0

感谢您的评论新的,这是真正的帮助 – Khaled 2011-04-03 14:48:10

2

Split允许分隔符是一个正则表达式,所以你可以说这个或那个。类似这样的:

myStr.split(/:|-/) 

祝你好运!

1

您可以使用多个字符,由管道分隔|

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

确保如果你使用(使用\)和类似的,所以()