2017-10-18 109 views
-2

我有一個從DB的PHP字符串它是20/11/2017我想將其轉換爲毫秒。 這是我的代碼。PHP將字符串轉換爲日期時間

$the_date = "20/11/2017"; 
$mill_sec_date = strtotime($the_date); 
var_dump($mill_sec_date); 

但它不打印任何東西,而不是

bool(false); 

有什麼問題,我怎樣才能解決呢????

+0

見http://php.net/manual/en/datetime.formats.php用於支持日期和時間格式列表。 – d3L

+0

顯示毫秒,如時間戳秒* 1000? –

+0

我需要將它乘以1000嗎? –

回答

1

當使用斜線分隔日期的部分時,PHP將格式識別爲MM/DD/YYYY。這使得你的日期無效,因爲沒有20個月。如果要使用交換日期和月份的格式,則需要使用連字符,如DD-MM-YYYY。

+0

非常感謝你。 –

+0

不客氣! –

0

使用DateTime類調用函數createFromFormat

$date = date_create_from_format('d/M/Y:H:i:s', $string); 
$date->getTimestamp(); 
0

最有可能你得到的日期格式錯了,請參閱 here爲支持的日期和時間格式列表:

本節介紹的所有strtotime(),DateTime和date_create()解析器可以理解的不同格式。

1
$time = strtotime('10/16/2003'); 

$newformat = date('Y-m-d',$time); 
print_r($newformat); 
+1

不錯的解決方案兄弟... –

+0

感謝兄弟..如果解決方案解決了您的問題,請不要忘記將此答案標記爲正確答案。 – Rits

+0

@ kousheralampranto如果這解決了你的問題標記答案爲這個問題的選擇答案, – Sand

0

你串不被接受的strtotime,您可以使用createFromFormat組設置與格式類型像下面的字符串時,你也可以檢查live demo。而且你還可以參考此answer

var_dump(DateTime::createFromFormat('d/m/Y', "20/11/2017")); 
相關問題