[英]How to transform multiple dates into a JSON object into custom formatted dates using moment.js?
[英]Ionic 2 JSON dates and moment.js trouble
我在使用Ionic和moment.js进行日期操作时遇到问题。 我从ion-datetime组件存储一些日期:
{"year":2017,"month":7,"day":26,"hour":null,"minute":null,"second":null,"millisecond":null,"tzOffset":0}
并使用moment.js来“人性化”日期显示:
let somedate = moment(some.date);
console.log('JSON date : ' + JSON.stringify(some.date) + ' resolved as : ' + somedate.format('DD/MM/YYYY'));
并得到结果:
Original JSON date : {"year":2017,"month":7,"day":26,"hour":null,"minute":null,"second":null,"millisecond":null,"tzOffset":0} resolved as : 26/08/2017
您可以考虑,原始JSON日期和时刻显示日期之间存在月份偏移量...
我想念什么?
Javascript月份的范围是0到11,即一月是0,二月是1,同样,因此它会将您移至下个月。 尝试从月份值中减去1,以获得正确的月份。
var some = {'date':{"year":2017,"month":6,"day":26,"hour":null,"minute":null,"second":null,"millisecond":null,"tzOffset":0} }; let somedate = moment(some.date); console.log('JSON date : ' + JSON.stringify(some.date) + ' resolved as : ' + somedate.format('DD/MM/YYYY'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
最后,根据您的回答,我使用转换方法解决了问题,该方法采用原始JSON日期格式并使用TypeScript返回Javascript Date对象:
private _JSONDateToDate(jsonDate: any){
if(typeof jsonDate == 'object')
return new Date(jsonDate.year, (parseInt(jsonDate.month) - 1), jsonDate.day);
return jsonDate;
}
我减去“ month”属性的1个月以拥有正确的Date对象...然后,我可以使用moment.js对其进行操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.