两个相同的日期时间;一个显示另外24小时12小时

时间:2011-08-12 16:46:10

标签: php mysql datetime

我有一个包含两个日期时间字段的表单。用户输入日期(yyyy-mm-dd)和时间(3个盒子;小时,分钟,上午/下午)。

出于某种原因,第一个没有被保存为24小时。

以下数据是输入的结果:

2011-1-1 下午4:30

我正在使用strtotime()将字符串转换为日期时间格式。

$dateOccured = date('Y-m-d H:i:s', strtotime($dateOccurred));
$dateResolved = date('Y-m-d H:i:s', strtotime($dateResolved)); 

如果我使用print_r()来查看结果,它会正确显示。

发生日期:

[year] => 2011
[month] => 1
[day] => 1
[hour] => 16
[minute] => 30
[second] => 0
[fraction] => 0
[warning_count] => 0

已解决的日期

[year] => 2011
[month] => 1
[day] => 1
[hour] => 16
[minute] => 30
[second] => 0
[fraction] => 0
[warning_count] => 0

两者都显示正确的时间:16:30(或下午4:30)。当我查看我的数据库时,这就是显示的内容。

发生日期

2011-01-01 04:30:00

已解决的日期

2011-01-01 16:30:00

我知道这是dateOccurred变量的问题,因为如果我在查询中用dateResolved替换它,它会被正确插入。我无法弄清楚问题出在哪里?我错过了什么导致了这个?

谢谢。


如果是数据库,不会在查询中用dateResolved替换dateOccurred变量无关紧要? 这是INSERT查询

"INSERT INTO 
  incidents (
    incidentNumber, date, itFunction, issue, severity,
    owner, dateOccurred, dateResolved, locationsImpacted, businessImpact,
    rcaRequired, rcaReceived, rootCause, notes) 
VALUES (
  '{$incidentNumber}', '{$date}', '{$itFunction}', '{$issue}', '{$severity}',
  '{$owner}', '{$dateOccurred}', '{$dateResolved}', '{$locationsImpacted}', '{$businessImpact}',
  '{$rcaRequired}', '{$rcaReceived}', '{$rootCause}', '{$notes}')"

它们都是日期时间字段。

1 个答案:

答案 0 :(得分:4)

发现问题......错别字!我一直在靠墙撞击一小时试图解决这个问题! $dateOccured(单身...... rrrrrr)!把这个放在令人尴尬的栏目中。

我了解到使用

可以使错误报告更有用
error_reporting(E_ALL | E_NOTICE)

感谢Chronial。