从API收到的日期为“ 20180914”,需要将其格式化为2018年9月14日。
环顾四周,发现moment.js
用于日期格式化,但是,由于我是RN noob:S
我正在使用Fetch获取API,并从{item.segments[0].date2}
获取日期。
如何在这里使用moment
?非常感谢您的宝贵时间。
答案 0 :(得分:0)
这与react-native无关,您不需要momentjs:
console.log('20180914'.replace(/(\d{4})(\d{2})(\d{2})/,'$2/$3/$1'))
答案 1 :(得分:0)
如果每次获取这样的日期YYYYMMDD
,那么您都可以关注
var item = {
segments: [
{
date2: 20180918
}
]
};
if (typeof item.segments[0].date2 === 'number') {
item.segments[0].date2 = item.segments[0].date2.toString();
}
if (typeof item.segments[0].date2 === 'string') {
// strip out non-numbers
let result = date.replace(/\D/g, '');
// invalid format i.e. not enough numbers
if (result.length !== 8)
item.segments[0].date2 = null;
else {
// Convert date into format YYYY-MM-DD
item.segments[0].date2 = result.substr(0, 4) + "-" + result.substr(4, 2) + "-" + result.substr(6, 2);
// After Importing moment to your application
// Using moment to convert format to MM/DD/YYYY
item.segments[0].date2 = moment(item.segments[0].date2,'YYYY-MM-DD').format('MM/DD/YYYY');
// If don't want to use moment then skip above two can do this
item.segments[0].date2 = result.substr(4, 2) + "/" + result.substr(6, 2) + "/" + result.substr(0, 4);
}
}