首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PHP变量"11:00 AM“转换为MySQL时间格式

将PHP变量"11:00 AM“转换为MySQL时间格式
EN

Stack Overflow用户
提问于 2012-08-09 06:47:51
回答 2查看 12.5K关注 0票数 8

正在尝试将标准时间变量从表单输入转换为MySQL插入可接受的时间格式。我可能做错了,需要一些帮助。我已经阅读了MySQL时间函数和PHP函数,但还没有找到解决方案。

下面是我尝试过的一个例子:

代码语言:javascript
复制
<?php
$time_input = '11:00 AM';

$strtotime = strtotime($time_input);

$mysql_time = date('H:m:s',$strtotime);

echo "<p>time_input: $time_input</p>";
echo "<p>strtotime: $strtotime</p>";
echo "<p>mysql_time: $mysql_time</p>";
?>

结果是将时间更改为11:08:00 (不确定8分钟来自何处):

代码语言:javascript
复制
time_input: 11:00 AM

strtotime: 1344438000

mysql_time: 11:08:00

任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-09 06:52:39

DateTime将为您完成以下操作:

代码语言:javascript
复制
$time_input = '11:00 AM';
$date = DateTime::createFromFormat( 'H:i A', $time_input);
$formatted = $date->format( 'H:i:s');

我通常在可能的情况下避免使用strtotime(),因为它可能有些不可预测。

您可以在this demo中看到它的工作方式。

票数 10
EN

Stack Overflow用户

发布于 2012-08-09 06:55:17

m是带有前导零的月份的格式(8月,例如08),您需要i (带有前导零的分钟):

代码语言:javascript
复制
$mysql_time = date('H:i:s',$strtotime);

PHP date docs

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11874330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档