时间戳的坑,ios的微信上
发布于 6 年前 作者 webkixi 4294 次浏览 最后一次编辑是 5 年前 来自 分享

new Date("2010-03-15 10:30:00").getTime() 的时间戳转换方法,在pc chrome和android上跑得爽爽的,在ios的微信上,这种写法会报错。google到以下解决方案, 全浏览器支持

// ios 时间转时间戳
// 兼容所有浏览器
// ios 使用 new Date("2010-03-15 10:30:00").getTime() 获取时间戳报错
// @time "2010-03-15 10:30:00"
function getTs(time){
    var arr = time.split(/[- :]/),
    _date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]),
    timeStr = Date.parse(_date)
    return timeStr
}

^^! 欢迎关注我的个人站 http://www.agzgz.com
^
^! github https://github.com/webkixi/FKP-REST

12 回复

untitled2.png

一个4句话的函数,里面有 2 个隐性全局变量定义。。。楼主长点心啊

@alsotang

var arr = time.split(/[- :]/),
 	_date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]),
	timeStr = Date.parse(_date);

这样定义,_date 和 timeStr会成为隐性全局变量吗?

不会,但是代码的可读性是非常重要的。要是你不合理缩进,最好老老实实地一行一个语句

@imhered 我看错了。。。看错 , 了。

@jingsam 确实缩进应该往右两格

momentjs妥妥的

表示第一眼确实没看出来。。。

@alsotang 哈哈,你肯定把第一行的逗号看成分号了吧=.=

@alsotang 不怪你!

@webkixi

表示第一眼认同 @alsotang 😂😂😂

@webkixi PC上不见的跑的爽爽的吧,试试火狐和IE。 可能是时间格式的问题,这样试试:

new Date("2010-03-15 10:30:00".replace(/-/g,'/')).getTime();
回到顶部