2011-12-18 42 views
0

我有一個腳本,它以多種不同的格式提供日期。strtotime不適用於mm-dd-yyyy

我想將這些日期保存爲時間戳,以便輕鬆操作/排序。

當我嘗試將mm-dd-yyyy類型的日期轉換爲時間戳時,它失敗。

腳本運行時,它不知道它將被饋送的格式,因此無法指定。幾乎所有其他格式的日期似乎都轉換得很好。

任何人都可以建議如何解決這個問題,或者另一種方式,所有的日期格式可以轉換爲可以操縱的可訂購的,一致的格式嗎?

非常感謝

+3

請顯示一些代碼 – 2011-12-18 20:05:59

+0

沒有任何代碼可以顯示..這是一個理論問題。爲什麼mm-dd-yyyy格式不能在strtotime中工作,並且是否有將任何格式的日期轉換爲單一可操作格式的方法..? – 2011-12-18 20:21:06

+0

我認爲問題在於,還有一個'dd-mm-yyyy'格式,而且兩者不可分開。我認爲這是一個重複的: – 2011-12-18 20:22:53

回答

7

它看到字符串與-在他們爲DD-MM-YYYY和/爲MM/DD/YYYY。

另請參閱此questioncomments on the documentation

可能的解決方案/解決方法:

  • 在PHP 5.3,在舊的PHP的,而不是在Windows上使用date_create_from_format
  • ,用strptime
  • 如果既可以使用,無論是更換-/當必要的,或使用建議您可以通過鏈接的問題找到的正則表達式之一。

但請注意,在某些時候,您確實需要知道格式是以什麼開始的。電腦不是mindreaders。如果不提供區分,它們不能也不能區分mm-dd-yyyy和dd-mm-yyyy在重疊範圍(mm和dd < = 12)之間。

+0

感謝鏈接。在此基礎上,是否有將mm-dd-yyyy格式和dd-mm-yyyy格式的日期轉換爲單一可操作格式的統一方式? – 2011-12-18 20:44:10

+0

編輯我的答案 – Inca 2011-12-19 08:44:08