链接: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. Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

    注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线,也 就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...

  2. visual core 运行 .net core bug处理

    launch: program 'launch: launch.json must be configured. Change 'program' to the path to the executa ...

  3. Hadoop伪分布式部署

    一.Hadoop组件依赖关系: 步骤 1)关闭防火墙和禁用SELinux 切换到root用户 关闭防火墙:service iptables stop Linux下开启/关闭防火墙的两种方法 1.永久性 ...

  4. CTF---隐写术入门第一题 SB!SB!SB!

    SB!SB!SB!分值:20 来源: 西普学院 难度:中 参与人数:4913人 Get Flag:1541人 答题人数:1577人 解题通过率:98% LSB 解题链接: http://ctf5.sh ...

  5. Kruskal求最小生成树

    #include<bits/stdc++.h> using namespace std; ; ; const int inf = 0x3f3f3f3f; ; typedef long lo ...

  6. HDFS(数学题)

    题目连接:http://acm.tju.edu.cn/toj/showp.php?pid=4119 4119.   HDFS Time Limit: 5.0 Seconds   Memory Limi ...

  7. SLAM入门之视觉里程计(6):相机标定 张正友经典标定法详解

    想要从二维图像中获取到场景的三维信息,相机的内参数是必须的,在SLAM中,相机通常是提前标定好的.张正友于1998年在论文:"A Flexible New Technique fro Cam ...

  8. echarts自定义提示框数据

    tooltip: { trigger: "axis", axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: "line" // 默认为 ...

  9. 对SVD奇异值分解的理解

      首先推荐一篇博客,奇异值分解(SVD)原理详解及推导 - CSDN博客,讲解的很清楚.这里我谈谈自己的理解,方便以后回顾.   如果把向量理解为空间中的一个元素,那么矩阵可以理解为两个空间上的映射 ...

  10. gettype

    取得变量的类型. 语法: string gettype(mixed var); 返回值: 字符串 函数种类: PHP 系统功能 内容说明 本函数用来取得变量的类型.返回的类型字符串可能为下列字符串其中 ...