如何使用PHP解释HTML5输入日期值

时间:2012-12-06 15:45:28

标签: php html5 input

我需要让用户选择日期(最好采用格式为dd / mm / yy),我决定尝试新的HTML5输入日期类型。但是我不知道如何解释它在服务器端给出的值。我得到的值是yyyy-mm-dd。你能帮我这个吗?

如果用户使用不支持它的olser浏览器,他将如何输入日期呢?

4 个答案:

答案 0 :(得分:6)

  1. 只需使用PHP的日期功能(date()DateTime等)转换日期

    $datetime = new DateTime('2012-12-06');

    $new_date = $datetime->format('d/m/Y');

  2. 他们会看到一个纯文本字段。您需要确保他们输入验证日期。

答案 1 :(得分:4)

您可以使用date()转换日期格式,如下所示,

 $new_date = date('d/m/y', strtotime($_POST['date']));

Demo

答案 2 :(得分:0)

您可以将其作为普通输入进行检索。然后,您可以将其无缝转换为date()的日期。这整个只是一个浏览器增强,并没有任何改变到所有服务器端。如果浏览器较旧,那么浏览器将使其成为正常的TEXT输入,并且STILL您将看不到任何差异。 干杯, 柏彦

答案 3 :(得分:0)

如果用户的浏览器不支持浏览器,浏览器将只显示一个常规文本输入框,用户可以在其中输入任何他们喜欢的内容。

因此,您需要能够处理任何输入的任意数据。但这无论如何都适用,因为你永远不应该相信来自浏览器的用户输入。

如果您希望所有用户都有一个不错的日期控件,您可以使用jQuery datepicker或类似功能为没有它的浏览器补充该功能。

关于如何处理yyyy-mm-dd值 - 只需使用DateTime()类将其转换为PHP DateTime对象。易:

$dateObj = new DateTime($_GET['mydate']);  //or whatever your input field is called.