代码之家  ›  专栏  ›  技术社区  ›  reinhard

var x=“<?php echo strtotime($uEvents[start']);?>”;给出不同的结果

  •  0
  • reinhard  · 技术社区  · 10 年前

    我想使用以下代码将php datetime传递给javascript:

    var x="<?php echo strtotime($uEvents['start']);?>";
    


    但是 价值 属于 unix时间戳 是不同的( database value is "2014-03-25 08:36:15" )

    echo strtotime($uEvents['start'])] ==> 1395711375<br/>
    var x ==> 1395711287
    


    我已经搜索过这种差异,但这似乎不是因为javascript是毫秒,php是秒

    1 回复  |  直到 10 年前
        1
  •  0
  •   Oleg    10 年前

    看起来这个问题是由服务器和客户端之间的时间差(大约1.5分钟)引起的。

    如果您希望客户端获得与服务器传递相同的时间,请尝试以下操作:

    var d = new Date("<?php echo $uEvents['start']; ?>");  //Date constructor can
                                                 //parse datetime passed as a string
    
    console.log(d.toString());   //this will output time you need
    

    您还可以获得毫秒时间戳:

    var timestamp = d.getTime();
    

    以及小时、分钟和秒:

    var h = d.getHours();
    var m = d.getMinutes();
    var s = d.getSeconds();