关于跨境项目UTC时间与PST时间转换
因为做跨境电商类型的公司有些活动需要限制每日次数次数和每日定制刷新,就会涉及到时区转换问题,所以特意做了一篇关于时间转换的文章。
废话不多说看需求:
1.每个用户每日拥有15次翻牌次数。另外可通过分享游戏获取额外的2翻牌次数。
全部耗尽则无法翻牌。每日凌晨0点(PST)刷新翻牌次数限制,当日未使用完的次数不可累积到第二天。
2.每当所有卡牌都已被成功翻开,则会自动刷新整组新卡牌;每日凌晨0点后登录(PST时间),
自动刷新一整组新卡牌,前一天未完成的翻牌游戏不会被保存。
分析一下:
1、每日限制15次,限制每日分享1次(分享+2次机会),不叠加使用
可以用redis控制每日翻牌次数和分析次数,key是用户id和当前pst日期,value是用户剩余的翻牌机会,分享次数也是一样;先去从redis中获取,获取不到证明今天没有翻牌(也可以说没有进入过游戏),就初始化翻牌机会为15。拿到了就表示已经有翻牌可以继续操作,分享类比。
2、每日PST时间凌晨0点刷新翻牌次数和发的卡牌
每次发牌都会报错这次发牌的时间用户的是System.currentTimeMillis()
来作为创建时间,保存到数据库中,
问题:
如何获取当前PST的时间?
如何将保存在数据库中的时间转换为PST时间,然后判断是否是新的一天?
问题1: 获取PST时间
PST (北美太平洋标准时间) 是UTC-8时区的知名名称之一,比UTC(协调世界时)落后8个小时与UTC的时间偏差可写为-08:00.它在冬天使用。在夏季,PDT
还没有评论,来说两句吧...