moment与unix时间,北京时间

1,549 阅读1分钟

1.moment转为unix时间戳

momentTime.unix()

2.moment转为北京时间

timestamp为moment时间

formatUtcToBeijing(timestamp) {
    //此处应该优化一下:时间戳为10位时乘以1000,13位时直接运算
    let date = timestamp > 9999999999 ? new Date(timestamp) : new Date(timestamp * 1000);
    var Y = date.getFullYear() + '/';
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '/';
    var D = date.getDate() + ' ';
    var h = date.getHours() + ':';
    var m = date.getMinutes() + ':';
    var s = date.getSeconds() 
    return `${Y}${M}${D}${h}${m}${s}`
}

3.得到当前时间的utc时间戳

let date = new Date().getTime();//单位为毫秒的时间戳

4.得到当前时间(北京时间的年月日等)

let date2 = new Date();//中国标准时间

date2.getFullYear();//得到年,同样地,getMonth()将获得月份(加1才是真正的月份)

5.moment时间转换成固定格式的北京时间

moment.unix(momentTime.unix()).format('YYYY-MM-DD HH:mm:ss');//momentTime就是需要转换的moment格式的时间参数