使用PHP在mysql中插入/输出日期和时间?
我不知道它为什么如此混乱,也许是因为有很多方式输出/输入日期和时间与MySQL和PHP。所有我想要的就是用户可以把日期格式使用PHP在mysql中插入/输出日期和时间?
MM/DD/YYYY
,并为它的输出以这种格式
Month Name - Date
和时间,我希望用户从选择字段挑时间,从下午1点开始并增加了30分钟,所以它将是下午1点30分,2点P.M ...我想以某种方式将其插入到MySQL并输出为1:30 P.M.不知道如何做到这一点。
将日期格式存储到数据库并能够按照您想要的方式显示的最佳方式是使用time()
和date()
函数。
在数据库中存储日期时应该使用time(),它会生成一个像这样的字符串 - >1300695900
。这个小字符串包含日期和时间
那么你可以使用日期在任何你想要的方式来显示它:
$time = time();//you would normally get this from the database
date('d M Y', $time); //outputs 21 Mar 2011
date('m-d-y', $time); // outpus 03-21-2011
等等...
编辑: 回答你的最后一个问题,你只是得到不同的值,把它粘在一起(拼接),然后使用strtotime()
$date = $_POST['date']; // eg 03/03/2011
$time = $_POST['time']; // eg 1:30
$daypart = $_POST['daypart']; // eg PM
$date_time = $date.' '.$time.' '.$daypart;
$strtime = strtotime($date_time);
echo date('d M Y - h:i', $strtime);// outputs 03 Mar 2011 - 01:30
好吧,我明白从数据库中抓取日期并输出你想要的方式。但让我们说一个用户在文本字段中放置“3/25/2011”,那么如何将它存储在mysql中,因为日期格式为YYYY-MM-DD。有没有一个PHP函数将其转换为该格式? – Ben 2011-03-21 08:32:22
使用函数strtotime()之前发送到数据库 – Christophe 2011-03-21 08:40:35
终于确定,所以我剩下的问题仍然是“你将如何存储从下午1点30分从
你可以做到这一点是将时间戳存储在mysql中,然后输出它如何使用php的日期函数(请参阅http://php.net/manual/en/function.date.php)。 – 2011-03-21 07:40:52
好吧,这是有道理的,我知道如何将当前时间存储在MySQL中,但我如何将预先选定的时间像下午1:30存储到MySQL中。 – Ben 2011-03-21 07:45:01
的好处取决于您需要在预定时间下午1:30进行什么操作,例如,如果您希望每天下午1:30通知用户,那么从00:00到1:30 PM的时间戳差异将为int (48600)... – 2011-03-21 08:20:07