我需要让用户选择一个日期(最好采用 dd/mm/yy 格式),然后我决定尝试新的 HTML5 输入日期类型。但是我不知道如何解释它在服务器端给出的值。我得到的值是 yyyy-mm-dd。我怎样才能做到这一点?
如果用户使用不支持它的旧浏览器怎么办,他们将如何输入日期?
如果用户的浏览器不支持它,浏览器只会显示一个常规的文本输入框,用户可以在其中输入他们喜欢的任何内容。
因此,您需要能够处理输入的任意数据。但这无论如何都适用,因为您永远不应该相信来自浏览器的用户输入。
如果您希望所有用户都拥有一个不错的日期控件,您可以使用 jQuery datepicker 或类似工具来为没有它的浏览器回填该功能。
至于yyyy-mm-dd
当你得到它时如何处理它 - 只需使用DateTime()
该类将其转换为 PHP DateTime 对象。简单的:
$dateObj = new DateTime($_GET['mydate']); //or whatever your input field is called.
您可以将其作为普通输入检索。然后,您可以将其无缝转换为带有date()
. 这整个只是浏览器的增强,所有服务器端都没有任何变化。如果浏览器较旧,则浏览器会将其设为正常的文本输入,但您仍然不会看到任何区别。干杯,博扬