PHP-将日期转换为UTC日期


PHP - Convert Date to UTC Date

我从mysql数据库中提取了一个日期,格式为YYYY-MM-DD。

现在我有一些javascript,需要这样的日期:

data: [
            [Date.UTC(2010, 0, 1), 29.9], 
            [Date.UTC(2010, 2, 1), 71.5], 
            [Date.UTC(2010, 3, 1), 106.4]
        ]

所以我想我可以做以下事情:

while($row = mysql_fetch_array($sql)){  
      $thedate = explode('-', $row['date']); //$row['date'] = YYYY-MM-DD      
      $str .= '[Date.UTC(' . $thedate[0].','.$thedate[1].','.$thedate[2].'), '.$row['answer'].'],';
      $i++;
    }

然后在浏览器端使用变量data中的AJAX请求简单地捕捉到这一点,给出:

data: [data]

当提醒数据的内容时,我注意到我得到了类似于下面22&8月23日:

[Date.UTC(2011, 08, 22), 55], [Date.UTC(2011, 08, 23), 65]

当我需要时

[Date.UTC(2011, 7, 22), 55], [Date.UTC(2011, 7, 22), 65]

有人能告诉我如何将从数据库关系中提取的日期转换为正确的格式吗。。。。

YYYY

那是哪种格式?无论如何,使用DateTime::createFromFormat来解析日期,之后您可以随心所欲地对其进行格式化。

示例:

while($row = mysql_fetch_array($sql)){  
    $Date = DateTime::createFromFormat( 'Y-m-d', $row['date'] ); 
    $str .= '[Date.UTC(' . $Date->format('Y') . ', ';
    $str .= $Date->format('n') - 1 . ', ';
    $str .= $Date->format('j') . '), ' . $row['answer'] . '],';
}

顺便说一下,看看json_encodehttp://php.net/manual/en/function.json-encode.php

while($row = mysql_fetch_array($sql)){ 
  $timestamp = strtotime($row['date']); 
  $str .= '[Date.UTC(' . date('Y', $timestamp). ', ';
    $str .= date('n', $timestamp) - 1 . ', ';
    $str .= date('j', $timestamp) . '), ' . $row['answer'] . '],';
}

关于DateTime-这是一个很棒的类,但仅适用于pphp>=5.2