【问题标题】:PHP equivalent of Date.UTC function in javascript?javascript中Date.UTC函数的PHP等价物?
【发布时间】:2012-07-07 15:04:56
【问题描述】:

我从 MySQL 获取日期作为字符串(Y-m-d 格式)。我需要使用Highcharts 显示图表。 Highcharts 使用 javascript Date.UTC 函数:

返回指定日期与指定日期之间的毫秒数 1970 年 1 月 1 日午夜。

data: [
    [Date.UTC(1970,  9, 27), 0   ],
    [Date.UTC(1970, 10, 10), 0.6 ],
    [Date.UTC(1970, 10, 18), 0.7 ],
    [Date.UTC(1970, 11,  2), 0.8 ],
    [Date.UTC(1970, 11,  9), 0.6 ],

但我想避免使用 javascript 并在 PHP 中执行(将 JSON 对象 - 图表 - 分配给页面本身)。 PHP中Date.UTC函数的等价物是什么(不管服务器日期区)?

$date      = '2012-07-07';
$millisecs = 1000 * unix_timestap_utc_regardless_server_zone($date);

【问题讨论】:

  • 从 PHP 到 JS,将其放入变量中:date('Y, n-1, j-1', strtotime($date)); 并回显 Date.UTC($var)

标签: php javascript date timestamp utc


【解决方案1】:

我会用

date_default_timezone_set('UTC');    
$today = date(getdate());

这会将 $today 设置为日期。

编辑:Niclas 也是对的,我就是这样做的。

编辑 2:如果您愿意,可以在 PHP 中将 getdate() 替换为有效的时间戳...

编辑 3:抱歉...误会...使用 strtotime() 制作有效时间戳!

【讨论】:

    【解决方案2】:

    【讨论】:

    • 谢谢。但是(例如)strtotime 会使用我的 PHP.ini 中指定的时区,对吧?
    • strtotime 只会在您不提供自己的时区时使用默认时区,例如 strtotime("00:00:00 UTC")
    【解决方案3】:

    获取 PHP 时间戳,然后通过 乘法

    转换为 Javascript 时间戳
    $phpTimestamp = $dateObject->getTimestamp();
    $javascripTimestamp = $phpTimestamp * 1000;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 2010-09-24
      相关资源
      最近更新 更多