链接:https://pan.baidu.com/s/1nw6VWoD 密码:1peh

  有时候获取到的时间带有毫秒数或者是(2018-2-6 11:11:11)格式的(别说你没遇到过,也别什么都让后台转好给你,程序员就是在长跑,短时间内看不出什么,但一年两年后,有的人成了大神,有的人却还是只会切图),这样的字符串在ie11和IOS系统上jquery的getTime()无法将其转为时间戳(谷歌,安卓(华为)可以)。

  本宝宝致力于高版本IE网站,和移动端H5网页小游戏(比如答题游戏,大转盘等等)开发,低版本IE的坑在刚毕业的时候踩过,现在不想去碰了,毕竟马云爸爸都不支持低版本IE了。

  demo在文章开头,下面分析代码:

  大家都知道jquery获取当前时间戳是new Date().getTime(); 而一般转换某时间(比如 bb = "2018/2/6 11:11:11")成时间戳的代码如下。

  

var bb = "2018/2/6 11:11:11"
var timeb = new Date(bb).getTime();

  However,有种时间是用“-”连接年月日的(2018-2-6 11:11:11),甚至是带毫秒的(2018-2-6 11:11:11.3)(也许是自家的瓜皮后台给你的,也许是第三方的坑爹后台写的接口里面获取的),这种情况下,getTime();会在IOS和ie11上报NaN。代码和效果图如下:

var bb = "2018-2-6 11:11:11.3"
var timeb = new Date(bb).getTime();

  大家第一时间想到了把毫秒去掉,把“-”转成“/”。but 转换连接符容易,去掉毫秒又该怎么去掉,这里向大家介绍一种方法substr。这个方法可用获取字符串的第N位到第M位,可用实现取某几位字符,也可以实现手机号中间几位变成***,这里我将拿它实现删除毫秒。代码如下:

var bb = "2018-2-6 11:11:11.3"
console.log(bb.substr(0,bb.lastIndexOf(".")))
var timec = new Date(bb.substr(0,bb.lastIndexOf(".")).replace(/-/g,"/")).getTime();

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。用substr获取字符串从第开头到 "." 。获取到 2018-2-6 11:11:11 。然后用正则转成 2018/2/6 11:11:11。接下来就能用getTime()转成时间戳了。

IOS 时间字符串转换时间戳失败问题的更多相关文章

  1. golang的time包:时间字符串和时间戳的相互转换

    本博客转自: https://blog.csdn.net/mirage003/article/details/86073046 package main import ( "log" ...

  2. 用shell将时间字符串与时间戳互转

    date的详细用户可以参考下面的 http://www.cnblogs.com/xd502djj/archive/2010/12/29/1919478.html date 的具体用法可以查看另外一篇博 ...

  3. 微坑---微信小程序ios上时间字符串转换为时间戳时,在开发工具上和安卓手机上运行成功

    给定一个时间字符串  var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法:1.var timestamp = Date.parse(time ...

  4. 微信小程序ios上时间字符串转换为时间戳时会报错,在开发工具上和安卓手机上运行成功

    给定一个时间字符串  var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法: 1.var timestamp = Date.parse(tim ...

  5. JS 时间字符串与时间戳之间的转换

    1.当前时间换时间戳 var timestamp = parseInt(new Date().getTime()/1000); // 当前时间戳 document.write(timestamp); ...

  6. python 时间字符串和时间戳之间的转换

    https://blog.csdn.net/qq_37193537/article/details/78987949   1.将字符串的时间转换为时间戳    方法:        a = " ...

  7. 苹果浏览器和ios中,时间字符串转换问题

    背景:在开发PC端项目和小程序时,遇到过一个时间字符串转化问题,在苹果浏览器和ios微信客户端里,"2018-10-15 18:20" 以 字符"-"拼接的时间 ...

  8. Python 之 时间字符串、时间戳、时间差、任意时间字符串转换时间对象

    1. 时间字符串 --> 时间戳 1) time 模块 timestring = '2016-12-21 10:22:56' print time.mktime(time.strptime(ti ...

  9. IOS时间格式转换

    在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如:如何将格式为“12-May-14 05.08.02.000000 PM” ...

随机推荐

  1. 【JavaScript_DOM 淘宝购物车】

    让我们一起看一下淘宝的购物车是怎么做的吧,刚刚入门的我可能很多地方的用法都不够优化,不过个人感觉先把逻辑清晰之后再做的话其实也并不难哦, 以下是我做的页面代码: HTML代码: <!DOCTYP ...

  2. sscanf()用法

    http://blog.chinaunix.net/uid-26284412-id-3189214.html #include<cstdio> #include<cstring> ...

  3. RAID 详解

    一.什么是RAID 磁盘阵列全名是『Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列. RAID 可以透过一个技术(软件或 ...

  4. 常用Windows DOS命令项目部署经常用到

    img { max-width: 100% } 前两天部署.netcore项目,首先是生产环境域名访问不了,再到.netcore项目IIS部署502.5,在到莫名其妙的500,在排查项目部署问题的时候 ...

  5. css3渐变之线性渐变

    css3定义了两种类型的渐变,即线性渐变和径向渐变.这里我要说的是线性渐变. 为了创建一个线性渐变,你必须至少定义两种颜色结点.颜色结点即你想要呈现平稳过渡的颜色.同时,你也可以设置一个起点和一个方向 ...

  6. [UWP]使用Acrylic

    1. 前言 在 如何使用Fluent Design System 这篇文章里已经简单介绍过Reveal的用法,这篇再详细介绍其它内容. 自Windows 8 放弃Aero后,群众对毛玻璃回归的呼声一致 ...

  7. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](六)

    前言 大家好,我是Rector 又是星期五,很兴奋,很高兴,很high...啦啦啦... Rector在图享网又和大家见面啦!!!上一篇<一步一步创建ASP.NET MVC5程序[Reposit ...

  8. TP框架自带的正则验证的规则

    thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint? 01 static $reg ...

  9. VisualSVN Server的配置和使用方法

    VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端 ...

  10. 关于在vue-cli中使用微信自动登录和分享

    (以下所有接口由后台提供) 一.微信自动登录 //定义事件 methods:{ //判断是否微信登陆 是不是微信浏览器 isWeiXin() { let ua = window.navigator.u ...