能否使用random模块生成每24小时自动变化的随机数
实现方案说明
可以实现,核心逻辑是把随机数生成的种子和当日日期绑定,就能实现24小时自动变更一次、同一天内数值固定的需求,具体操作逻辑如下:
- 第一步:格式化获取当前日期值,推荐统一使用
YYYYMMDD格式的字符串或数值,同一天内该值不会发生变化 - 第二步:将得到的日期值作为入参,传入
random模块的种子设置方法,不同语言的调用方法大同小异,比如Python端的写法为random.seed(格式化后的日期值),其他语言对应调用随机种子设置接口即可 - 第三步:调用
random模块的随机数生成方法获取结果,只要种子不变,同一天内无论调用多少次得到的随机数都完全一致,到次日日期变更后种子自动更新,随机数也会同步变更
注意事项:如果你的APP有跨时区使用的用户,建议统一使用UTC时间计算日期,避免不同时区用户同一天拿到的随机数不一致;如果要求全平台用户的24小时随机数完全统一,不要读取客户端本地时间,需要从服务端拉取统一的基准日期再生成随机数,避免用户修改本地时间得到不符合预期的结果。
内容的提问来源于stack exchange,提问作者Raghuvanshi
相关产品推荐
相关产品推荐

