使用Date.parse(new Date())默认生成的时间戳是以毫秒为单位的。
可以根据业务需求,通过除以1000,来转化为秒。因为生成的时间戳末尾是000,所以不用担心不是整除。
控制台打印
可在js中引用以下代码
var timeStamp = Date.parse(new Date());this.timeStamp = timeStamp / 1000;//除以1000后是秒,不除1000则是毫秒logUtil.log('小程序隐藏时间:'+this.onHide_time)
PS:logUtil为封装后的console,可直接用console方法打印
控制台打印
运用场景:
判断用户切换小程序页面到其他app页面,在App.vue文件中,利用onHide和onShow生命周期方法。
设定一个时间区间,在onHide和onShow方法中分别记录时间戳,并用后者时间减去前者时间,与给定的时间区间比较,如差值超过时间区间,则可认为超时,可以对token或其他业务逻辑作进一步处理。
onHide: function() {logUtil.log('App Hide--------------------------')var timestamp = Date.parse(new Date());this.onHide_time = timestamp / 1000;logUtil.log('小程序隐藏时间:'+this.onHide_time)},onShow: function() {logUtil.log('App Show')//页面从隐藏到再次显示的间隔时间段限制,超过,则清空token,需要重新登录//600秒,是10分钟var intervalTime = 600var timestamp = Date.parse(new Date());this.onShow_time = timestamp / 1000;//除以1000后是秒,不除1000,则是毫秒// debuggervar interval = this.onShow_time-this.onHide_timeif(interval > intervalTime){//如果间隔时间大于指定时间, 可根据业务处理}logUtil.log('小程序显示时间:'+this.onShow_time)logUtil.log('实际间隔onShow_time-onHide_time:'+interval)},