为相同时间戳的每个人创建相同的日期对象

时间:2017-02-06 16:41:46

标签: javascript

在我的网站上,我通过ajax函数获取当前时间,该函数返回服务器当前时间戳,然后创建日期对象。

@Override
    public void onRequestPermissionsResult(int requestCode,
            String permissions[], int[] grantResults) {
        switch (requestCode) {
            case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                    // permission was granted, yay! Do the
                    // contacts-related task you need to do.

                } else {

                    // permission denied, boo! Disable the
                    // functionality that depends on this permission.
                }
                return;
            }

            // other 'case' lines to check for other
            // permissions this app might request
        }
    }

然后我的逻辑继续将该日期与其他各个日期进行比较,以提供倒计时和事件状态。

我的问题是每个人都有不同的时间。

我在GMT。服务器在EST。对我来说它说的是正确的时间,但美国东部时间的人说这是4个小时。

我不明白为什么会发生这种情况,因为每个人的时间戳都应该相同。

我看到一篇关于设置UTC时间的帖子,但不确定我到底要做什么。谁能说清楚我做错了什么?

1 个答案:

答案 0 :(得分:0)

这似乎有效:

    var serverOffset = -300*60000; // -5 hrs is 300 minutes

    var usersDate = new Date();
    var userOffset = usersDate.getTimezoneOffset()* 60000;

    var currentTime = new Date((parseInt(response) * 1000) + userOffset + serverOffset);