2016-08-22 77 views
1

說我給了一個像「2016年8月」這樣的日期有沒有一種方法在PHP中簡單地找到一個日期沒有給出的日期?php檢測日期給定是否有日期值

我可以找到的所有PHP函數都自動設置爲「1」,如果沒有給定日期的那天。

我想要做的是除掉不給我一天的日期。

它們不是由我提供的,可以混合使用英國或美國的格式。

+0

,你可以檢查一些在字符串的開始? – 2016-08-22 21:37:43

+1

你期望有其他日期格式嗎?如果是這樣,哪些?你可以控制用戶輸入嗎?你如何獲得價值?請澄清你的問題,以便我們可以幫助你。 –

+0

'我可以找到的所有PHP函數都會自動設置爲「1」,如果沒有給定日期,則只需使用'DateTime',然後手動設置日期。如果沒有人給你,你期望什麼日子?你可以將它加載到'DateTime'中並忽略日期,無論如何你可以控制任何你輸出的格式 – Ghost

回答

3

您可以嘗試使用DateTime::createFromFormat()

$notValid = DateTime::createFromFormat('F Y', '21 January 2016'); // false 
$valid = DateTime::createFromFormat('F Y', 'January 2016'); // DateTime object 
+0

不需要'createFromFormat',即使構造函數也能理解'2016年8月' – Ghost

+2

@Ghost確實,你是正確,但這個問題的作者想要驗證給定的日期是否有一天給出。 「2016年8月」和「2016年8月21日」都將返回true,這不是他所需要的。 – Skysplit

+0

這看起來確實很不錯。我建議你將它變成一個函數,它接受一個日期字符串並返回天數,如果存在的話,否則返回null。 – trincot

相關問題