CNode

发现 moment.js 的一个 bug

分享
Bbeyond5959发布于9 年前最后回复9 年前17 回复7081 浏览0 收藏
> moment({ h: 24, m: 00})
moment("2017-03-24T00:00:00.000")
> moment({ h: 0, m: 00})
moment("2017-03-23T00:00:00.000")
> moment({ h: 24, m: 00, s: 1})
moment.invalid(/* [object Object] */)

即 moment({ h: 24, m: 00, s: 1}) 会报错。

查看回复

回复 (17)

D
DuanPengfei#1·9 年前

24 点 0 分 1 秒,请问这是什么时间格式?

N
nnliang#2·9 年前

:blush:

B
beyond5959#3·9 年前
引用 DuanPengfei24 点 0 分 1 秒,请问这是什么时间格式?

@DuanPengfei 也就是第二天的 0 点 0分 1秒,不加秒的话 moment({ h: 24, m: 00}) 这样就正常。

W
wocaatm#5·9 年前

你家24小时制见过24:00:01?好比你12小时制见过12:00:01。

D
DuanPengfei#6·9 年前

@beyond5959 想想进制是怎么回事就应该能想清楚了

D
DevinXian#7·9 年前

地球上还没这时间吧...

B
beyond5959#8·9 年前

@DuanPengfei @wocaatm 目的不是要获取 24:00:01,而是要获取第二天的00:00:01,像这样 moment({ h: 24 }) 获取第二天的 00:00:00 就是正常的。

L
libook#9·9 年前

去官方github提issue了没?

J
jiangzhuo#11·9 年前

moment({ h: 24, m: 00, s: 1}) 这是火星时间吧,好像火星是25小时制

R
rwing#12·9 年前

。。。。。。。人家就是这么设计的,不允许你传入超过24小时的时间。。。。。。。难不成你传入240:00:00我还要给你算一下 参见 https://github.com/moment/moment/blob/37587a15a58607ae907c949fa1f20620f9d8e4ad/src/test/moment/is_valid.js#L87

L
leyou319#13·9 年前

可以

L
leyou319#14·9 年前

L
leyou319#15·9 年前

真的

Y
yimingjfe#16·9 年前

测试一下

L
lzq920#17·9 年前

吓尿了,原来大家的时间不一样啊。。

🚀🚀🚀🚀

参与回复
登录后即可参与回复。登录