前端Date.now问题分析以及解决方案

new Date() 与 Date.now()

相信很多前端同学对这个方法很熟悉。

1
2
new Date() // 返回一日期对象 Fri Nov 24 2017 15:53:18 GMT+0800 (CST)
Date.now() // 返回1970 年 1 月 1日午夜与当前日期和时间之间的毫秒数。 1511510039726

在很多场景中,前端会习惯性的获取当前时间,然后去进行逻辑处理与后端交互。
我们在做很多活动抽奖已经机票查询日历的时候,只能允许用户点击当前时间之后的。
今天我们那机票的场景来做介绍,我们在进入机票的搜索页,我们需要给用户默认一个时间,这个时间会默认给用户显示。

服务端 & 客户端

我们很多时候会直接使用new Date(),进行初始化时间,如果没有,我们会默认加1天。
但是这里有一个问题,如果用户的本地时间不准确,慢当前时间,就会跳过一个逻辑,选择的时间只能在今天之后。
所以,我们这里会采用服务端时间来进行计算。

实现方法3步
1.服务端把当前时间嵌入到前端
2.前端获取服务端时间使用,通过方法调用。(这里需要方法处理)
3.前端调用统一的方法来进行调用
待续。。