3

これは非常識です。どのように対処すればよいですか?

Chrome コンソールで:

new Date(2013,0,1).getTime() // 1st of Jan 2013
> 1356991200000
------------
new Date(2013,0,1).getTime()== 1356991200000
> true

次に、PHP でその値を取得します。

<?php 
    die(date('l, j F Y'), 1356991200000 / 1000); // cut some ms
?>

私は得るMonday, 31 December 2012

これはGMTに関連していますか?これを修正するにはどうすればよいですか?

4

2 に答える 2

6

Javascript はクライアントのタイムゾーンで動作しますが、PHP はサーバーのタイムゾーンで動作します。

JS : https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

var x = new Date()
var currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60

PHP : http://php.net/manual/en/function.date-default-timezone-get.php

<?php
echo date_default_timezone_get();
于 2012-12-28T22:37:05.687 に答える
3

どちらかを使用してください(サーバー側をお勧めします)。両方が同期することを中継することはできません。1 つはサーバーに依存し、もう 1 つはユーザーのコンピューターに依存します。

何かを表示する必要がある場合は、相対時間を使用し、ページが更新されたらクライアント側の時間を更新します...

于 2012-12-28T22:36:58.213 に答える