如何在React-Native中格式化ISO日期

时间:2018-12-26 22:10:54

标签: javascript date react-native

我正在从API中以这种格式获取日期数据:

"2018-12-26T05:00:29"

但是我需要以不同的格式在应用程序前端显示此内容:

"Monday, Nov 26 at 10:00 am"

我如何才能在本机上实现这一目标?

2 个答案:

答案 0 :(得分:2)

考虑使用momentjs之类的第三方库进行高级日期解析和格式化。使用力矩,您可以通过以下模式根据需要format the date string

// dddd for full week day, MMM for abreviated month, DD for date, etc
moment(inputDate).format("dddd, MMM DD at HH:mm a")

momentjs库与react-native一起很好地工作,可以通过以下方式轻松安装:

npm install moment --save

并导入到您的项目中

import moment from 'moment';

以下是演示上面显示的模式的代码段:

var inputDate = "2018-12-26T05:00:29";

var outputDate = moment(inputDate).format("dddd, MMM DD at HH:mm a");

console.log(outputDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>

答案 1 :(得分:0)

尽管Moment.js可以快速解决此问题,但是对于单个用例而言,它是一个相当大的库。我建议使用date-fns instead。轻巧。

感谢https://github.com/date-fns/date-fns/issues/376#issuecomment-353871093

尽管有解决方案,但我对“日期字段符号”做了一些完善。您可能需要使用dd而不是DD / yyyy而不是YYYY来格式化月份中的月份/格式化年份。

在此处阅读文档:https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md