reactNative 计算时间差
生活随笔
收集整理的這篇文章主要介紹了
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
/**
*獲取時間差值(天數)
*/
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
轉載于:https://www.cnblogs.com/cui-cui/p/9044827.html
總結
以上是生活随笔為你收集整理的reactNative 计算时间差的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kernel笔记——块I/O
- 下一篇: Vue2.0 入门 安装Vue-cli