繁体   English   中英

用moment.js进行本地反应

[英]react native with moment.js

我使用本机反应来开发移动应用程序。 我检索了API的一些信息,在该信息上以这种格式循环显示日期:

 "2018-06-02T10: 00: 00 2018-06-02T11: 00: 00; 2018-06-03T10: 00: 00 2018-06-03T11: 00: 00"

我知道它是ISO 8601格式,我想使其看起来更好,所以我尝试使用Moment.js,但我做不到。

这是我的代码的一部分(当然,我没有忘记导入Moment.js):

这是我的代码(当然,我没有忘记导入Moment.js):

                    <View style={styles.contentItem}>
                  <Text style={styles.text}>{Moment(item.fields.timetable).format('YYYY-MM-DD HH:mm')}</Text>
                  <Foundation name="clock" style={styles.icons} />
                </View>

我发现自己的错误“无效日期”,我做错了吗? 您能帮我还是给我一些线索?

你有一个日期传递给moment没有日期的数组。 您可以像这样将输入日期格式传递给moment

let date = "2018-06-02T10: 00: 00"
let correctDate = moment(date, 'YYYY-MM-DDTHH: mm: ss').format('YYYY-MM-DD HH:mm'),

由于获取日期为String ,因此您需要将其转换为Date,然后可以根据需要更新formate。 以下是答案:

  const stillUtc = moment.utc(YOUR_DATE).toDate();
  const local = moment(stillUtc).local().format('YYYY-MM-DD HH:mm');

嗯,您的格式不完全是ISO 8601 您还有一些额外的空间。

例如,您可以替换2018-06-02T10: 00: 002018-06-02T10:00:00 (如果日期与时区相同,则可以在2018-06-02T10:00:00Z末尾添加Z

同时请举一个DateMoment ,而不是一个array

希望这可以帮助 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM