0

我正在使用 Date().getTime() 在我的应用程序中设置用户的活动时间。但是在两台不同的机器(手机和电脑)上似乎返回不同的值。如果我先从手机获取时间,然后从电脑获取时间,则从手机的 Date().getTime() 返回的值必须小于 pc 的值,反之亦然!

这是设置时间的方法:

var user = this.get("objectId");
var lastactivity=Math.round(new Date().getTime()/1000);

this.set("lastactivity",lastactivity);

var User = Parse.Object.extend("User");
var query = new Parse.Query(User);
query.get(user, {
    success: function(object) {
        console.log(object);
        object.set("lastactivity", lastactivity);
        object.save();
    },
    error: function(object, error) {
        // handle error
    }
});
4

2 回答 2

3

new Date()仅与这些设备上的时钟一样准确。如果设备本身未完全同步,则预计您将获得不同的值。一般来说,最好在发布数据时在服务器端分配时间戳......如果所有客户端都在与同一台服务器通信,那么您无需担心用户设备上的时钟。

于 2013-08-09T13:26:24.897 回答
-2

尝试将小时数设置为 0000

var d = new Date();
var myDate = new Date(d.setHours(0,0,0,0));

现在使用这个日期,您将在所有地方获得相同的时间。在你的情况下,你可以试试这个

var user = this.get("objectId");
var lastactivity=Math.round(myDate.getTime()/1000);
于 2013-08-09T13:35:19.970 回答