为什么iPhone iOS的Moment.js日期无效 [英] Why is iPhone iOS showing invalid date for momentjs

查看:146
本文介绍了为什么iPhone iOS的Moment.js日期无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个日期选择器,它返回的时刻对象始终是UTC时区.我需要在这个日期做一些逻辑处理,但是一直希望在用户本地时区使用它,所以我做了以下事情:

I have a datepicker which was returning a moment object that was always in UTC timezone. I needed to do some logic on this date, but always wanted it in the users local timezone so I did the following:

    //strip submission date of timezone offset
    let submission_date = moment(this.state.startDate).format('YYYY-MM-DD hh:mm:ss a');
    submission_date = moment(submission_date);
    let last_date = this.last_date.diff(submission_date, 'days');

但是,当我这样做时,我的iPhone抱怨 submission_date 不是有效的日期.台式机很好,所以我猜这是一个野生动物园的问题.当我在被实例化之前检查 this.state.startDate 时,它是一个类似于 2018-11-01T17:52:44-00:00

However, when I do this my iPhone complains that submission_date is not a valid date. Desktop is fine so I'm guessing this is a safari issue. When I inspect this.state.startDate just prior to being momentized it's a string like 2018-11-01T17:52:44-00:00

难道不应该将其视为有效日期吗?

Shouldn't moment accept that as a valid date?

推荐答案

我发现它是格式字符串中的 a 标志.我将其更改为 YYYY-MM-DDTHH:mm:ss ,并且效果很好.Safari一定不能喜欢 am / pm 数据.

I had figured out that it's the a flag in the format string. I changed it to YYYY-MM-DDTHH:mm:ss and it worked perfectly. Safari must not like am/pm data.

这篇关于为什么iPhone iOS的Moment.js日期无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆