【问题标题】:Meteor Timed variable resets流星定时变量重置
【发布时间】:2015-04-22 16:07:56
【问题描述】:

我正在使用流星制作游戏,我希望在每天结束时重置某些变量。你知道我会怎么做吗? 就像每天结束时一样,转数会回到十次。

【问题讨论】:

    标签: meteor reset clock var timed


    【解决方案1】:

    我建议您为此使用momentjs 包。

    第一次运行。

    meteor add momentjs:moment
    

    现在您可以执行以下操作了

    var day = moment().endOf('day').fromNow(),
        day1 = moment().startOf('day').fromNow();
        console.log("the days ends in " + day)
        console.log("the days starts " + day1)
         if(day === "in 0 hours"){
            alert("The day is over")
            Session.set("dayOver",true)
          }
    
        if(day1 === "in 24 hours ago"){
            alert("The day is over")
            Session.set("dayOver",true)
         }
    

    这里是JSFiddle

    注意:应该有另一种方式,这也需要客户端时间,永远不要相信客户端时间,如果你想从服务器获取安全时间,请尝试 mizzao/meteor-timesync

    试试看

    meteor add mizzao:time sync
    

    你可以做类似的事情。

    var serverTime = TimeSync.serverTime().
    
    serverTime.format(). //for example 
    

    【讨论】:

    • 等等。所以对于第二个选项,如果 serverTime = 0 然后执行我想要的,会是这样吗?
    • 第二个选项只是一个想法,完全不同的第一个选项会很好用
    • 我可以将我的命令粘贴在 Session.set("dayOver",true) 下吗?
    • 是的,别忘了将其声明为Session.setDefault('dayOver',false)
    • 这个应用程序如何显示时间?我现在有 var = moment(); moment().format("dddd, MMMM 做 YYYY, h:mm:ss a");然后是服务器时间:{{now}},但它似乎不起作用,即使用户断开连接也能起作用吗?
    猜你喜欢
    • 1970-01-01
    • 2015-02-06
    • 2014-06-09
    • 1970-01-01
    • 2023-03-16
    • 2014-03-24
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多