CNode

时间戳的坑,ios的微信上

分享
Wwebkixi发布于10 年前最后回复10 年前12 回复5756 浏览0 收藏

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)

A
alsotang#1·10 年前

untitled2.png

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

I
im-here#2·10 年前
引用 alsotang一个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会成为隐性全局变量吗?

J
jingsam#3·10 年前

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

I
im-here#4·10 年前
引用 alsotang@imhered 我看错了。。。看错 , 了。

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

W
webkixi#6·10 年前

@alsotang 不怪你!

A
alsotang#7·10 年前
K
klausgao#9·10 年前

momentjs妥妥的

O
oyosc#10·10 年前

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

M
magicdawn#11·10 年前
引用 webkixi@alsotang 不怪你!

@webkixi

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

S
satrong#12·10 年前

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

new Date("2010-03-15 10:30:00".replace(/-/g,'/')).getTime();
参与回复
登录后即可参与回复。登录