RN 时间戳

let curTime = Date.now(); //获取到当前时间

curTime: 1555120690696 //是指从1970.1.1到现在的毫秒(ms)数

时间与时间戳之间的转换

// 获取当前时间戳
var timestamp = Date.parse(new Date());
console.log(timestamp);

// 获取某个时间格式的时间戳
var stringTime = "2019-06-10 11:37:00";
var timestamp2 = Date.parse(new Date(stringTime));

// 将当前时间换成时间格式字符串
var newDate = new Date();
newDate.setTime(timestamp);
// Mon Jun 10 2019
console.log(newDate.toDateString());
// Mon, 10 Jun 2019 03:37:42 GMT
console.log(newDate.toGMTString()); // 2019-06-10T03:37:42.000Z console.log(newDate.toISOString()); // 2019-06-10T03:37:42.000Z console.log(newDate.toJSON()); // 2019/6 /10 console.log(newDate.toLocaleDateString()); // 2019/6/10 上午11:37:42 console.log(newDate.toLocaleString()); // 上午11:37:42 console.log(newDate.toLocaleTimeString()); // Mon Jun 10 2019 11:37:42 GMT +0800(中国标准时间) console.log(newDate.toString()); // 11:37:42 GMT + 0800(中国标准时间) console.log(newDate.toTimeString()); // Mon, 10 Jun 2019 03:37:42 GMT console.log(newDate.toUTCString()); Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), "S+": this.getMilliseconds() }; if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; } // 2019-06-10 11:37:42 console.log(newDate.format('yyyy-MM-dd h:m:s'));

 将时间戳转换成日期格式

更多方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp

var date = new Date(时间戳); //获取一个时间对象

date.getFullYear();  // 获取完整的年份(4位,1970)
date.getMonth();  // 获取月份(0-11,0代表1月,用的时候记得加上1)
date.getDate();  // 获取日(1-31)
date.getTime();  // 获取时间(从1970.1.1开始的毫秒数)
date.getHours();  // 获取小时数(0-23)
date.getMinutes();  // 获取分钟数(0-59)
date.getSeconds();  // 获取秒数(0-59)

// 需要的格式 yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
console.log(Y + M + D + h + m + s); // 2019-06-10 11:45:39

将日期格式转换成时间戳

 
  
var strtime = '2014-04-23 18:55:49:123';

time1 = new Date(strtime).getTime(); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
time2 = new Date(strtime).valueOf();

 计算时间差

cxk() {
    //之前时间
    let preTime = 1535710147654;
    //当前时间
    let nowTime = Date.now();
    //间隔
    let intervalTime = nowTime - preTime;
    // 10min 毫秒数
    let tenMinites = 60 * 10 * 1000;
    let hour = tenMinites * 6;
    let day = 24 * hour;

    if (preTime > nowTime) {
        return '当前时间传递有误,请检查!!!'
    }
    // 刚刚 (10min之内为刚刚)
    if (intervalTime < tenMinites || intervalTime === tenMinites) {
        return '刚刚'
    }
    // 几分钟 (10-60min为几分钟)
    if (tenMinites < intervalTime && intervalTime <= hour) {
        return `${Math.ceil((intervalTime) / tenMinites * .1)}分钟前`
    }
    // 几小时 (1-24h为几小时)
    if (hour < intervalTime && intervalTime <= day) {
        return `${Math.ceil((intervalTime) / (6 * tenMinites))}小时前`
    }
    // (小于7d几天前)
    if (day < intervalTime && intervalTime <= day * 7) {
        return `${Math.ceil((intervalTime) / (6 * tenMinites * 24))}天前`
    }
    // (大于7d为几周前)
    if (day * 7 < intervalTime && intervalTime <= day * 35) {
        return `${Math.ceil((intervalTime) / (6 * tenMinites * 24 * 7))}周前`
    }
    // (大于四周为几月前)
    if (day * 7 * 5 < intervalTime && intervalTime <= day * 7 * 5 * 11) {
        return `${Math.ceil((intervalTime) / (6 * tenMinites * 24 * 30))}月前`
    }
    // 几年 (其余显示几年前)
    if (day * 7 * 5 * 11 < intervalTime) {
        return `${Math.ceil((intervalTime) / (6 * tenMinites * 24 * 365))}年前`
    }
}

转载于:https://www.cnblogs.com/gemeiyi/p/10700959.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值