reactNative 计算时间差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于reactNative 计算时间差的主要内容,如果未能解决你的问题,请参考以下文章
Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段