如何从表单输入(类型=时间)读取数据中的“AM / PM”?

时间:2014-10-12 09:14:17

标签: php html html-input

我有这段代码:

<input class="meting" name="meetingtime" value="<?php echo $_POST['meetingtime'] ?>" type="time"/>

<?php
    $time = $_POST['meetingtime'];
    echo $time; // the output of this is only the numbers
?>

如何在PHP中获取AM / PM值?

3 个答案:

答案 0 :(得分:2)

datetimedatetime等HTML5输入将以区域设置感知格式显示给用户。例如,在美国,日期字段可能被格式化为MM / DD / YYYY(因为这对他们来说有点意义......)但在欧洲它将是DD / MM / YYYY。但是,在这两种情况下,服务器都将收到YYYY-MM-DD(标准日期格式)

类似的事情适用于时间。如果您的计算机设置为24小时制,那么它将不会使用AM / PM,而12小时设置将使用。无论哪种方式,它都会发送24小时的时间,因为这是标准的。

答案 1 :(得分:2)

我所看到的(在美国)......

如果输入时间为:9:45 PM,则$_POST['meetingtime']的值为23:45

要获得上午/下午,您需要检查该值是否小于12:00是AM或更大或等于12:00是PM。

一种简单的方法是使用intval()

获取小时值
echo intval($time) < 12 ? 'AM' : 'PM';

答案 2 :(得分:0)

如果

  

这个输出只是数字

然后它可能是一个时间戳,例如你可以使用date()将它变成可读的日期格式。

示例给出2001年3月10日下午5:16: (假设$ time是时间戳长号)

<?php echo date("F j, Y, g:i a", $time); ?>