如何获得某个时区零点的时间戳

  • Creator 版本:

  • 目标平台:

  • 重现方式:可以查询当天零点的时间戳,也可以查看当前时区与某时区的时间差,但是过了本初子午线就差了一天 当天零点的时间减去时差 也不是想要时区的零点

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

d = new Date()
d.setHours(0,0,0,0)
ts = d.getTime()

不行的,一旦newdata就会变成本地时间,你没办法确定是不是一天

需求是什么?做签到?

发布到国外,保持时间一致,活动开启时间固定,要保证我拿到的当前时区时间和服务器的时间一致,总的来说 获得某个时区的零点时间戳

以服务器时间为准不行吗 不用客户端时间

服务器下发服务器的时间戳,然后各个客户端给玩家显示本地时间。

服务器告诉你我11点开活动,你在的时区和服务器在的时区不一致,你只能拿到服务器的零点时间,加上11点,但是服务器所在时间的零点不好算

不是显示问题,计算时间简单,就是比较困难

这个为啥?你直接下发服务器11点的时间戳就行了呀。时间戳跟时区无关,就是一个确定的时间。然后各个客户端拿到这个时间以后再根据你的需求进行相关的显示。

你所在的时区可能跟服务器所在时区差了一天,这活动就永远开不了了

看需求是希望,每个时区在自己的0点开始活动,就是全球不同步?

全球同步,都按那一个时间走,但是时间戳一用newdata,就转换成本地时间,全球就不统一了,现在就想知道怎么拿到服务器当天零点的时间戳

越看越不明白了。
转到本地时间本来就不应该一样,但是对应的时间戳一样就没问题啊。

另外活动是否可以进入不能客户端判断哦,因为用户可以改本地时间

你对时间戳的理解有问题。在服务器newDate以后,并设置到11点,这样就可以拿到服务器本地11点时间,这时候getTime就获得了时间戳。时间戳跟时区是不相关的,你拿着这个时间戳去各个客户端转化成本地时间然后比对就可以了。

改本地时间也改不了时区时间啊,获取的是网络时间,本地更改不了

服务器newdata你怎么拿

系统可以设置不同步网络时间。
时区也可以自定义的。

我用零时区的时间来算的,他怎么改,我跟服务器时间保持一致QQ图片20220221115032 服务器的时间是同步的

:rofl:第一句话就不对了,说了本地时间不可信,你进安卓或者iOS系统改一改本地时间,看看new Date()算出来是啥。

楼上说得对,你确实对时间戳理解有问题,找主程学习下吧 :joy: