js倒计时功能中newData().getTime()在iOS下会报错,显示 nan
最近在做移动端项目 ,有个设置开始时间和结束时间,然后倒计时 这个活动还有几天。在安卓上能正确转换时间,但在iOS上不能显示,为NaN-NaN1-NaN Invalid Date,
就好比new Date('2017-09-18 14:58:32').getTime(); / /在ios上死活拿不到时间戳显示NaN
我也查阅了相关的资料,后来发现:
原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,
而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题
所以想要正确显示时间在iOS上,应该这么写
new Date("2010-03-15 10:30:00".replace(/-/g,'/')).getTime(); 解决了问题!!
然后附上 时间相差的倒计时代码
//倒计时
setInterval( function()
{
//设置开始时间
var startTime = ($dp.$( 'time1' ).value.replace( /-/g, '/' ));
// 当前时间
var nowTime = new Date().getTime();
if( new Date( startTime ).getTime() - nowTime > 0 )
{
$( "#timeText" ).removeClass( "none" ).html( "未开始" );
$( ".downTime ul" ).addClass( "none" );
}
else
{
$( ".downTime ul" ).removeClass( "none" );
$( "#timeText" ).addClass( "none" );
var endTime = new Date( $dp.$( 'time2' ).value.replace( /-/g, '/' ) );
// 相差的时间
var t = endTime.getTime() - nowTime;
if( t <= 0 )
{
$( ".downTime ul" ).addClass( "none" );
$( ".downTime #timeText" ).removeClass( "none" ).html( "已结束" );
return false;
}
var d = Math.floor( t / 1000 / 60 / 60 / 24 ); var h = Math.floor( t / 1000 / 60 / 60 % 24 );
var i = Math.floor( t / 1000 / 60 % 60 );
var s = Math.floor( t / 1000 % 60 );
$( "#d" ).html( d );
$( "#h" ).html( h );
$( "#i" ).html( i );
$( "#s" ).html( s );
} }, 100 );
js倒计时功能中newData().getTime()在iOS下会报错,显示 nan的更多相关文章
- javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...
- 【转】 IOS开发xcode报错之has been modified since the precompiled header was built
本文转载自 IOS开发xcode报错之has been modified since the precompiled header was built 其实我是升级xcode到4.6.3的时候遇到的 ...
- IOS开发 xcode报错之has been modified since the precompiled header was built
转载的文章 很实用 IOS开发xcode报错之has been modified since the precompiled header was built 今天做百度地图的时候第一次发现下面错误 ...
- php中读取中文文件夹及文件报错
php读取时出现中文乱码 一般php输出中出现中文乱码我们可用 header ('content:text/html;charset="utf-8"'); php中读取中文文件夹及 ...
- IDEA中写MyBatis的xml配置文件编译报错的坑
IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错 ...
- vue 中使用 watch 出现了如下的报错
vue 中使用 watch 出现了如下的报错 报错: Method "watch" has type "object" in the component def ...
- js 倒计时功能,获取当前时间的年月日,时分秒
一.实现当前时间到指定截止时间的倒计时功能 <html> <head> <title>TEST</title> </head> <bo ...
- 如何在webapp中做出原生的ios下拉菜单效果
github:https://github.com/zhoushengmufc/iosselect webapp模仿ios下拉菜单 html下拉菜单select在安卓和IOS下表现不一样,iossel ...
- iOS开发编译报错、常见问题(实时更新)
一.报错与警报 1.错误代码:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCH ...
随机推荐
- Tensorflow 教程系列 | 莫烦Python
Tensorflow 简介 1.1 科普: 人工神经网络 VS 生物神经网络 1.2 什么是神经网络 (Neural Network) 1.3 神经网络 梯度下降 1.4 科普: 神经网络的黑盒不黑 ...
- Python学习之==>面向对象编程(一)
一.面向对象与面向过程 面向对象与面向过程是两种不同的编程范式,范式指的是按照什么方式去编程.去实现一个功能.不同的编程范式本质上代表对各种不同类型的任务采取不同的解决问题的思路. 1.面向过程编程 ...
- 汇编语言——DOSBox 学习网址整理
汇编语言--使用DOSBox写一个HelloWorld https://blog.csdn.net/whatiwhere/article/details/8035910 windows下汇编工具--d ...
- ELk架构解析和部署
目录 一.什么是elk. 1 二.ELK 常用架构及使用场景介绍... 2 1.最简单架构... 2 2.以Logstash 作为日志搜集器... 2 3.以Beats 作为日志搜集器... 3 4. ...
- Springboot2.x集成Redis集群模式
Springboot2.x集成Redis集群模式 说明 Redis集群模式是Redis高可用方案的一种实现方式,通过集群模式可以实现Redis数据多处存储,以及自动的故障转移.如果想了解更多集群模式的 ...
- [Git] 014 远程仓库篇 第一话
0. 前言 在 [Git] 001 初识 Git 与 GitHub 之新建仓库 中,我在 GitHub 上建了一个仓库 "interesting" 这回的任务 把远程的 " ...
- PostgreSQL设计之初的大量论文
引自:https://www.docs4dev.com/docs/zh/postgre-sql/11.2/reference/biblio.html#STON86 该网站是一个PostgreSQL手册 ...
- Linux0.11之初识Makefile/build.c
前言 Makefile对于从来没有接触过的人来说是相当别扭的(比如我),但它确实又是非常重要的,它描述了一个Image是如何形成的,理解它也许并不能帮我解决实际问题,而且编写Makefile的工作也许 ...
- Linux——临界段,信号量,互斥锁,自旋锁,原子操作
一. linux为什么需要临界段,信号量,互斥锁,自旋锁,原子操作? 1.1. linux内核后期版本是支持多核CPU以及抢占式调度.这里就存在一个并发,竞争状态(简称竟态). 1.2. 竞态条件 发 ...
- 偶遇com组件 .rc 文件 not found .tlb文件问题:
好久木有弄com组件来,记忆已经模糊了,今天遇见一个编译问题,折腾了半天,mark一下: xxx_x64.rc(273): error RC2135: file not found: xxx.tlb ...