Php/Mysql中的时间处理
我很困惑。例如,我正在添加一条记录,该记录的时间也应该填写,然后我用类似于下午6:30的格式填写了时间文本框Php/Mysql中的时间处理,php,mysql,Php,Mysql,我很困惑。例如,我正在添加一条记录,该记录的时间也应该填写,然后我用类似于下午6:30的格式填写了时间文本框 那么如何将这些数据存储到mysql数据库中呢?我应该使用什么数据类型?因为有时间、日期时间和时间戳数据类型。我应该使用哪些PHP函数。 我想要实现的是以H:MM am/pm(例如6:30 pm)格式获取用户输入的时间,以正确的方式将其存储在数据库中,并以输入的格式显示或检索该数据 谁能帮助我理解如何使用Php在mysql中存储和检索时间。请给我举个例子 我知道网络上有很多资源,但我只希望
那么如何将这些数据存储到mysql数据库中呢?我应该使用什么数据类型?因为有时间、日期时间和时间戳数据类型。我应该使用哪些PHP函数。
我想要实现的是以H:MM am/pm(例如6:30 pm)格式获取用户输入的时间,以正确的方式将其存储在数据库中,并以输入的格式显示或检索该数据
谁能帮助我理解如何使用Php在mysql中存储和检索时间。请给我举个例子
我知道网络上有很多资源,但我只希望像我这样的编程新手能得到直接而清晰的答案。这一切都取决于你的应用程序(你想要一天中的时间,还是绝对时间?你想要做算术?等等) 一个简单的解决方案可以是: 使用和功能:
$timestamp = strtotime("6:30 pm");
$timestring = strftime("%I:%M %P", $timestamp);
$timestamp
是epoch之后的秒数,您可以将其作为INT存储在数据库中。您可以使用timestamp将时间存储在MySQL数据库中
时间戳:
<?php
$time = strtotime($yourTime); //yourTime is the time from your input box.
?>
时间戳到时间:
<?php
$time = date('g:i a', $yourTime); //yourTime is the time from the database.
?>
有关更多信息,请参阅:和
编辑:
您可以在MySQL数据库中将时间戳值保存为INT(11)。如果将时间设置为
6:30 PM
作为用户输入,则可以使用将其转换为时间戳,然后将其格式化以存储在数据库中
使用MySQLTIME
数据类型,该数据类型要求时间格式为HH:MM:SS(24小时)
例如:
$dbFormat = date('H:i:s', strtotime('6:30 PM'));
产生:
18:30:00
这已准备好插入数据库。当您从数据库中检索它时,您可以使用函数让MySQL将其格式化为原始格式
SELECT DATE_FORMAT(mytime, '%l:%i %p') FROM mytable
产生:
下午6:30
您应该在mysql中使用类型time 时间以以下格式存储:HH:MM:SS 对于php转换 插入:
$time=strtotime('6:30 pm');
$data_bd=date("H:i:s",$time);
//And then insert into mysql field
摘录:
//Extract the data from mysql
$time=strtotime('18:30:00');
$data_print=date("g:i a",$time);
如果要查看流程,请执行以下操作:
有关更多信息:
您可以尝试以下方法:
$time = '6:30pm';
$newTime = strftime('%H:%M:%S',strtotime($time));
现在您应该得到一个有效的mysql时间
通常,将数据以正确的格式存储到mysql数据库是最好的方法。如果这里只有时间数据,我建议使用该列的时间格式。datetime和timestamp只有在具有完整日期和时间部分(如2012-12-05 09:54:32,或时间戳1354697672)时才应使用
要加载时间数据并将其重新格式化为00:00am/pm格式,您可以尝试:
$time = '18:30:00';
$newTime = strftime('%I:%M %p',strtotime($time));
我希望这将对您有所帮助。使用格式为(YYYY-MM-DD HH:MM:SS)的MySQL时间戳。您需要以24小时格式保存时间。如果您只需将其保存为0000-00-00 18:30:00 然后,当您检索时间时,只需使用date('h:ia',$mysql\u timestamp)将其格式化为下午6:30
希望这有帮助。将要存储的时间标准化为ISO8601()。有一些有用的JavaScript库(例如dojo)。如果要在数据库中存储时间,请使用
time
数据类型。@DipeshParmar这是非常糟糕的建议。数据库应使用可用的数据类型。如果不仔细考虑,您以后会遇到问题。我应用了您的示例$dbFormat=date('H:I:s',strotime($timeinput))
用于将时间插入数据库,我使用它输出:$time=date('g:ia',strottime($timeinput))代码>一切顺利!你能给我解释一下百分号的作用吗?百分号通知strftime以下字符将以某种方式翻译,而不是逐字显示。