资讯专栏INFORMATION COLUMN

计算时间差,页面倒计时,安卓与ios兼容问题

tolerious / 2730人阅读

摘要:前言在开发一些有关商品交易类的项目时多半会遇到活动倒计时之类的需求最近也是在小程序中遇到实现方法很多但是在小程序中遇到和安卓的兼容问题所以记录下来代码根据对比传入的两个时间戳计算出相差的时分秒计算起始时间戳默认是当前时间计算结束时间当前接

前言

在开发一些有关商品交易类的项目时,多半会遇到活动倒计时之类的需求,最近也是在小程序中遇到,实现方法很多,但是在小程序中遇到ios和安卓的兼容问题,所以记录下来

代码
/**
   * timestampSwitch - 根据对比传入的两个时间戳,计算出相差的时分秒
   *
   * @param{String}startTimestamp 计算起始时间戳,默认是当前时间
   * @param{Number}endTimestamp 计算结束时间(当前接受的是时间字符串,如2018-11-30 23:59:59)
   * @return{Object}
   */
  const timestampSwitch = (endTimestamp, startTimestamp = (new Date()).valueOf()) => {
    if (!Number(endTimestamp) || !Number(startTimestamp)) console.error("Incorrect parameter");
    // 兼容ios
    let et = Date.parse(endTimestamp) || Date.parse(endTimestamp.replace(/-/g, "/"));
    // 计算
    let difference = (endTimestamp - startTimestamp),
        timeDifference = (difference > 0 ? difference : 0) / 1000,
        days = parseInt(timeDifference / 86400),
        hours = parseInt((timeDifference % 86400) / 3600),
        minutes = parseInt((timeDifference % 3600) / 60),
        seconds = parseInt(timeDifference % 60);

    return {
      days,
      hours,
      minutes,
      seconds
    }
  };
问题

问题在于后台给我的是时间字符串,我们需要转为时间戳后计算,但是安卓和ios转换时会有不同如上代码
iOSDate.parse(endTimestamp)转为时间戳会报错,兼容性方法Date.parse(endTimestamp.replace(/-/g, "/"))

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99609.html

相关文章

  • 记一次微信小程序在安卓的白屏问题

    摘要:在做小程序的时候,做到了一个限时商品售卖,用到了倒计时,因为这个原因导致了安卓手机上使用小程序时,将小程序放入后台运行一段时间后,再次进入小程序后出现了页面白屏或者点击事件失效的情况,这里记录下相关代码文件我这里是使用了自定义组件的形式来渲 在做小程序的时候,做到了一个限时商品售卖,用到了倒计时,因为这个原因导致了安卓手机上使用小程序时,将小程序放入后台运行一段时间后,再次进入小程序后...

    Hydrogen 评论0 收藏0
  • 江义旺:滴滴出行安卓端 finalize time out 的解决方案

    摘要:此前滴滴出行安卓端曾长期受此的影响,每天有一些用户会因此遇到,经过深度分析,最终找到有效解决方案。方法内尽量减少耗时以及线程同步时间。减少高优先级线程的创建和使用,降低高优先级线程的使用率。出品 | 滴滴技术作者 | 江义旺showImg(https://user-gold-cdn.xitu.io/2019/5/15/16ab95686cf247c1);前言:随着安卓 APP 规模越来越大,...

    Betta 评论0 收藏0
  • 微信小程序中的iOS兼容问题

    摘要:记录下在微信小程序中遇到的一些兼容性问题,兼容性中的属性字体不居中对设置及对设置高度中滚动卡顿设置微信小程序中解决中时间格式不兼容在实现倒计时,根据后台返回的时间格式转换时,后台返回了时间格式为,然后利用转换时,中无法展示,安 记录下在微信小程序中遇到的一些兼容性问题,iOS兼容性 1.iOS中input的placeholder属性字体不居中 对placeholder设置line-h...

    mingzhong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<