如何在从表单输入(类型=时间)读取的数据中获取“AM/PM”?
Posted
技术标签:
【中文标题】如何在从表单输入(类型=时间)读取的数据中获取“AM/PM”?【英文标题】:How to get "AM/PM" in data read from a form input (type=time)? 【发布时间】:2014-12-07 01:10:25 【问题描述】:我有这个代码:
<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 值?
【问题讨论】:
chrome是网页浏览器,与运行PHP代码无关 你在哪里设置$time
?
echo $time
的输出应该是用户在表单的meetingtime
字段中输入的值,那么您在meetingtime
字段中输入了什么?
这个link 可能会对你有所帮助。
如果以下答案之一包含您问题的正确答案,请将其标记为已接受。这是一个绿色复选框,位于每个答案左侧的 Vote Up/Down 按钮下方。
【参考方案1】:
html5 输入(例如 date
、time
和 datetime
)将以可识别区域设置的格式显示给用户。例如,在美国,日期字段可能会被格式化为 MM/DD/YYYY(因为这在某种程度上对他们来说是有意义的......)但在欧洲它将是 DD/MM/YYYY。但是,在这两种情况下,服务器都会收到 YYYY-MM-DD(标准日期格式)
类似的事情也适用于时间。如果您的计算机设置为 24 小时制,则它不会使用 AM/PM,而 12 小时设置会。无论哪种方式,它都会发送 24 小时的时间,因为这是标准。
【讨论】:
是的,当我输入 12:30 AM 时它变成了 00:30,可能计算机没有设置为 12 小时格式。我们如何将时间格式设置为 12 小时?【参考方案2】:我所看到的(在美国)...
如果输入时间是:9:45 PM
,那么$_POST['meetingtime']
的值为23:45
。
要获得 AM/PM,您需要检查该值是否小于 12:00 是 AM 或大于或等于 12:00 是 PM。
一个简单的方法是使用intval()
获取小时值:
echo intval($time) < 12 ? 'AM' : 'PM';
【讨论】:
【参考方案3】:如果
这个输出只是数字
那么它可能是一个时间戳,例如,您必须使用 date() 将其转换为可读的日期格式。
给出 2001 年 3 月 10 日下午 5:16 的示例: (假设 $time 是一个时间戳长数字)
<?php echo date("F j, Y, g:i a", $time); ?>
【讨论】:
以上是关于如何在从表单输入(类型=时间)读取的数据中获取“AM/PM”?的主要内容,如果未能解决你的问题,请参考以下文章