最新消息:前端博客、web前端博客、Angularjs、javascript、jQuery、HTML5、CSS3

ios/ie部分浏览器使用javascript格式化日期出现NaN原因

JavaScript AZ 1917浏览 0评论

最近做年度活动报名H5页面,用于安卓和IOS中。测试时发现安卓没有问题,IOS下没有地行实际的效果。用IOS调试工具调试发现js指定日期转换时间戳出现问题,在Safari或IE下值为NaN。原来代码里面直接用了new Date(endTimestamp).getTime()转换时间戳。

注意:指定一个具体的时间转换时间戳,需要yyyy/mm/dd hh:ii:ss格式,yyyy-mm-dd在IE和Safari下是有问题的。

修改后代码为:

  1. function splitTimeEnd(startTimestamp, endTimestamp) {
  2. startTimestamp = startTimestamp.replace(/\-/g, '/');
  3. endTimestamp = endTimestamp.replace(/\-/g, '/');
  4. var now = new Date(),
  5. startTime = new Date(startTimestamp),
  6. endDate = new Date(endTimestamp),
  7. isStart = startTime.getTime() - now.getTime(),
  8. isEndTime = endDate.getTime() - now.getTime(),
  9. btnTxt;
  10.  
  11. if (isStart > 0) {
  12. btnTxt = "报名未开始";
  13. $('#btn').attr('title', btnTxt).html(btnTxt).addClass('dis');
  14. }
  15. if (isEndTime <= 0) {
  16. btnTxt = "报名已结束";
  17. $('#btn').attr('title', btnTxt).html(btnTxt).addClass('dis');
  18. window.clearInterval(timer);
  19. }
  20.  
  21. }
  22. var timer = window.setInterval(function() {
  23. splitTimeEnd(startTimestamp, endTimestamp);
  24. }, 1000);

转载请注明:TUTERM.COM » ios/ie部分浏览器使用javascript格式化日期出现NaN原因

如果您觉得本文的内容对您的学习有所帮助,您可以支付宝(左)或微信(右):
alipay weichat

您必须 登录 才能发表评论!