react native自带的时间处理方法在实际项目使用过程中有一定的局限性,所以找了个三方的工具类moment,使用起来还是比较方便的,记录一下:
1.安装:
npm install moment --save
2.引入:
import moment from 'moment';
3.使用:
let nowDate = moment(new Date()); //初始化当前时间
let day = date.format('MM/DD'); //格式化时间显示,如:11/19
let time = date.format('HH:mm') ; //格式化时间显示,如:16:44
let date =moment('2019-11-19 16:45:20')
const year = date.year() // 2019
const month = date.month() // 11
const day = date.date() // 19
日期格式化:
moment().format('MMMM Do YYYY, h:mm:ss a'); // 十一月 19日 2019, 4:46:36 下午
moment().format('dddd'); // 星期二
moment().format("MMM Do YY"); // 11月 19日 19
moment().format('YYYY [escaped] YYYY'); // 2019 escaped 2019
moment().format(); // 2019-11-19T16:46:36+08:00
相差时间数:
let date1 = moment('2019-11-02')
let date2 = moment('2019-11-10')
const day = date1.diff(date2, 'days') // 8
const month = date1.diff(date2, 'month') // 0
const year = date1.diff(date2, 'year') // 0
// 还有hour、minute、seconds,用法类似
相对时间:
moment("20111031", "YYYYMMDD").fromNow(); // 8 年前
moment("20120620", "YYYYMMDD").fromNow(); // 7 年前
moment().startOf('day').fromNow(); // 17 小时前
moment().endOf('day').fromNow(); // 7 小时内
moment().startOf('hour').fromNow(); // 1 小时前
日历时间:
moment().subtract(10, 'days').calendar(); // 2019年11月9日
moment().subtract(6, 'days').calendar(); // 上周三下午4点48
moment().subtract(3, 'days').calendar(); // 上周六下午4点48
moment().subtract(1, 'days').calendar(); // 昨天下午4点48分
moment().calendar(); // 今天下午4点48分
moment().add(1, 'days').calendar(); // 明天下午4点48分
moment().add(3, 'days').calendar(); // 本周五下午4点48
moment().add(10, 'days').calendar(); // 2019年11月29日