reactNative 计算时间差
因为后台返回的是"2018-06-30 00:00:00"这种格式,需要先转换一下,再计算距离今天得时间差。
/**
*获取时间差值(天数)
*/
getTimeDifference(date){
//转换时间
let regEx = new RegExp("\\-","gi");
let validDateStr=date.replace(regEx,"/");
let milliseconds=Date.parse(validDateStr);
var sendTime = new Date(milliseconds);
//当前时间
var nowTime = new Date();
//差值
var date3 = sendTime - nowTime;
//天
var days=Math.floor(date3/(24*3600*1000));
return days;
}
在此基础上如果要计算具体的时分秒参考如下:
//天
var days=Math.floor(date3/(24*3600*1000))
//时
var leave1=date3%(24*3600*1000)
var hours=Math.floor(leave1/(3600*1000))
//分
var leave2=leave1%(3600*1000)
var minutes=Math.floor(leave2/(60*1000))
//秒
var leave3=leave2%(60*1000)
var seconds=Math.round(leave3/1000)
下面是时间转换格式方法:
class DateUtil{ /** * 例如:2017-06-28 10:48:46转成date类, * 可把- replace成/ * @param dateString * @return Date */ static parserDateString(dateString){ if(dateString){ let regEx = new RegExp("\\-","gi"); let validDateStr=dateString.replace(regEx,"/"); let milliseconds=Date.parse(validDateStr); return new Date(milliseconds); } } // timestamp时间戳 formater时间格式 static formatDate(timestamp, formater) { let date = new Date(); date.setTime(parseInt(timestamp)); formater = (formater != null)? formater : 'yyyy-MM-dd hh:mm'; Date.prototype.Format = function (fmt) { var o = { "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+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) { if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); } return fmt; } return date.Format(formater); }}export default DateUtil;参考链接:http://www.jb51.net/article/126673.htm
https://blog.csdn.net/weng_sky/article/details/52098310

浙公网安备 33010602011771号