2011-02-14 120 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(/:|-|[|\(|\)]/) 

確保如果你使用(使用\)和類似的,所以()