我在日期时间列中插入日期和时间,我只是为我手动分配它的日期和时间获取值,使日期时间与MySQL日期时间语法匹配我做了类似的事情: / p>
if($start==NULL && $end==NULL){
$start = '01:00:00';
$end = '02:00:00';
}
$eve_start = $year."-".$nmonth."-".$date." ".$start;
$eve_end = $year."-".$nmonth."-".$date." ".$end;
现在我的年度年度,月份$ nmonth ,约会日期,$ start作为我的开始时间和$ end作为结束时间。
$ eve_start应该看起来像2012-06-01 01:00:00,当我单独打印时,我也会得到正确的值代替$ year,$ nmonth,$ date,但是当我打印$ eve_start或$时eve_end我只打印了一年的部分。
另外在数据库中插入的日期时间的对应值为00:00:00,其中必须是2012-06-01 01:00:00。
我从XML标签获取这些值,我使用XML格式和CURL导入Google日历事件。 现在,对于简单事件,我会得到开始和结束日期。但是当它是一个全天活动时我没有时间在xml文件中,我只能得到开始和结束日期。现在我正在做的是每当全天事件到来时我检查开始和结束时间,如果它是null我为它们分配静态值。我在我的数据库中插入简单事件没有任何问题,只有概率是全天事件
答案 0 :(得分:1)
您应该使用mktime()以时间戳格式存储时间。并使用date()函数检索它。
答案 1 :(得分:0)
您应该使用date()函数
格式化它$start_dt = date("Y-m-d H:i:s", strtotime($eve_start));
$end_dt = date("Y-m-d H:i:s", strtotime($eve_end ));
答案 2 :(得分:0)
MySQL将默认日期时间存储为yyyy:mm:dd h:i:s。
下面的代码将帮助您解决问题。
SELECT
DATE_FORMAT(YOUR_DATE_FIELD,'%Y') AS YOUR_YEAR,
DATE_FORMAT(YOUR_DATE_FIELD,'%m') AS YOUR_MONTH,
DATE_FORMAT(YOUR_DATE_FIELD,'%d') AS YOUR_DAY
from your_table
并在MySQL中存储日期时间字段,您只需添加NOW()mysql函数即可存储当前日期和时间。
INSERT INTO
table
( data
, date
) VALUES('".$date."',NOW() );
您可以编辑您的问题并添加有关问题的更多详细信息。
如果仍然没有解决问题,那么问题可能不在脚本中,而是在浏览器缓存
运行代码并查看有用的结果。
答案 3 :(得分:0)
PHP方面:我尝试了相同的代码,PHP正确地为我打印了日期时间。
Mysql方面:确保列类型为' datetime '。并确保您已在插入查询中正确分配了日期变量。