ios移动端,js时间操作getTime(),getFullYear()等返回显示NaN的解决办法及原因

在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在iOS上缺不能正常显示,显示的时间为:NaN-NaN1-NaN

在网上找问题出现原因,看到以下内容:

在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。
但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date"。
后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来了。
但是随之而来的问题有出现了,Date是返回过来了,可是这个Date对象中方法返回的数据可不是我想要的,返回的数据全都不正确。
现在返回过来的Date对象.getMonth()总要比正常的要多一个月!还有.getDay()返回的星期几也不正确!

所以想要正确显示时间在iOS上,应该这么写

new Date("2018-02-15 20:30:00".replace(/-/g,'/')).getTime();  // 解决了问题!!

当然getFullYear() ,getMonth(),getDate()已需要这样写:

new Date("2018-02-15 20:30:00".replace(/-/g,'/')).getFullYear()

  



js时间操作getTime(),ios移动端真机上返回显示NAN的更多相关文章

  1. 自定义plain 样式的 tableview,模拟器上不显示分割线,真机上却显示分割线.

    一, 经历 1> 自定义plain 样式的 tableview,模拟器上不显示分割线,真机上却显示cell 下面的分割线. 2> 尝试使用表格的separatorStyle属性,尝试失败. ...

  2. js 时间操作和随机数操作

    function Data() { var date = new Date(); var year = date.getFullYear(); ; var strDate = date.getDate ...

  3. JS时间操作

    /** * 判断年份是否为润年 * * @param {Number} year */ function isLeapYear(year) { return (year % 400 == 0) || ...

  4. js 时间操作积累

    console.log( new Date() ); //Tue Mar 20 2018 22:47:01 GMT+0800 (中国标准时间) // var date = new Date( '201 ...

  5. 让Xcode 8.x能够调试iOS 7.x真机

    首先需要 Xcode 7.x.可以去 苹果开发者官网 下载. 打开Finder, 进入文件夹: Xcode .x.app/Contents/Developer/Platforms/iPhoneOS.p ...

  6. 微信小程序Tabbar文字在真机不显示

    按照官方文档在json中定义好了Tabbar后,在模拟器上显示没问题,而在真机上不显示Tabar文字. 让我很苦笑不得的原因是: 在app.json定义Tabbar文字选中态和非选中态颜色时我用了英文 ...

  7. js倒计时功能中newData().getTime()在iOS下会报错,显示 nan

    最近在做移动端项目 ,有个设置开始时间和结束时间,然后倒计时 这个活动还有几天.在安卓上能正确转换时间,但在iOS上不能显示,为NaN-NaN1-NaN  Invalid Date, 就好比new D ...

  8. js格式化时间和时间操作

    js格式化时间 function formatDateTime(inputTime) { var date = new Date(inputTime); var y = date.getFullYea ...

  9. 随笔编号-07 JS针对时间操作

    //获取完整的当前日期 var date=new Date; var year=date.getFullYear(); var month=date.getMonth()+1; month =(mon ...

随机推荐

  1. linux段位进阶

    1.青铜: 1.Linux基础知识.基本命令(起源.组成.常用命令如cp.ls.file.mkdir等常见操作命令) 2.Linux用户及权限基础 3.Linux系统进程管理进阶 4.linux高效文 ...

  2. 2018-8-10-win10-uwp-在-Canvas-放一个超过大小的元素会不会被裁剪

    title author date CreateTime categories win10 uwp 在 Canvas 放一个超过大小的元素会不会被裁剪 lindexi 2018-08-10 19:16 ...

  3. 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分

    找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...

  4. Rsync 参数

    # rsync -v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式 ...

  5. django 项目分析

    项目要点 一.功能制定 1.用户功能 #.登陆 #.权限组功能 2.数据展示功能 #.列表展示 #.详细信息展示 #.图标展示 3.资源管理功能 #远程管理 #对远程服务器上的进程具有 #开启 #关闭 ...

  6. Windows exit

    退出 CMD.EXE 程序(命令解释器)或当前批处理脚本. EXIT [/B] [exitCode] /B          指定要退出当前批处理脚本而不是 CMD.EXE.如果从一个         ...

  7. lxhgww的奇思妙想 长链剖分板子

    https://vijos.org/d/Bashu_OIers/p/5a79a3e1d3d8a103be7e2b81 求k级祖先,预处理nlogn,查询o1 //#pragma GCC optimiz ...

  8. IDEA被删除的模块在编译时会再次出现

    工程根目录下.idea文件->compiler.xml,删除多余的model,workspace.xml->删除带有无用的target标签

  9. 训练计划Day1

    Day1:二分答案,三分查找,快速幂,欧拉筛素数 | 题目:火星人,Bridge,GCD,Prime Path 二分答案 [JSOI 2008] 火星人 对于第一个操作用\(hash + 二分\)来求 ...

  10. Hadoop 平台搭建

    一.在Linux中安装JDK并配置环境变量 输入javac 查看是否已安装java环境如果没有安装 sudo apt-get install openjdk-7-jdk再次检测 javac修改配置参数 ...