2017-04-27 134 views
1

如果有以下問題。在我的html5 datefield中,我輸入的訂單爲dd.mm.yyyy(例如今天的日期:27.04.2017)。html5日期字段輸入正確,但輸出反轉

<input type="date" />

多數民衆贊成在我的國家和時區是正確的。發佈的值與我的輸入相反。其yyyy-mm-dd(例如今天的日期:2017-04-27)。

有沒有辦法改變時間格式,如果該值發佈?

我發現了幾個解決方案,但只用於輸入而不是發佈的值。

+1

鏈接或小提琴嗎? –

+2

「但輸出反轉」 - 你是什麼意思的「輸出」?您是否正在閱讀JavaScript的價值? (這是您標記的唯一編程語言)。它是客戶端JS嗎?你在談論提交的表單數據嗎? – Quentin

+0

「這可能會導致合同形式出現問題」 - 什麼問題?您已經定義了您想要的解決方案,但不是問題所在。請參閱https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem和http://xyproblem.info/ – Quentin

回答

3

我真的不知道你的意思,但在這裏是你可以嘗試

$time = strtotime($_POST['dateInput']); 
    if ($time != false) { 
     $mydate = date('d-m-Y', $time)); 
    } 
+0

已經完全以同樣的方式解決了它。那是正確的答案 – Gabbax0r

2

有沒有辦法改變時間格式,如果該值發佈?

該字段使用標準格式提交。這在支持日期輸入類型並且是標準要求的瀏覽器中是一致的。

另一方面,用戶界面在瀏覽器中並不一致。

您可以可靠地期望日期字段總是以YYYY-MM-DD的形式提交,因此您可以在服務器端代碼中爲其編寫解析器(然後將其格式化,但不管您喜歡)。

解決服務器上的這個問題。 (您可以/使用JavaScript來解析日期,格式化它,並在每次輸入日期改變時將其寫入隱藏的輸入中...但在服務器端執行更簡單)。