JSON.stringify()多用于localStorage设置本地缓存,以及跟后台data交互时往处理数据格式,缓存储存的东西不管true还是false 都是字符串
window.localStorage.setItem("dragon",{name:"wan"}) // 本意是往浏览器储存 key:"dragon",value:{name:"wan"}
window.localStorage.getItem("dragon") // 得到的却是 "[object Object]" 和我们预期的值有出入
window.localStorage.setItem("dragon",JSON.stringify({name:"wan"})) // 要先obj转成JSON字符串
window.localStorage.getItem("dragon") // 得到 "{"name":"wan"}" => JSON字符串
JSON.parse('{"name":"wan"}') // 得到 Object {name: "wan"} JSON字符串 转成 obj对象形式
JSON.parse('["asd","1111",32]') // 得到 ["asd", "1111", 32] 解析成了数组
JSON.parse('{"name":"wan"}',function(key,val){……………………}) // 第二个参数是个函数,通过第一个参数的键值对可以做一些数据上的处理
根据当前时间 new Date(),以及另一个时间戳,相减求这段时间的距离
一天的时间 = 24小时x60分钟x60秒x1000毫秒 == 86400000
new Date() => Fri Jul 13 2018 07:54:40 GMT+0800 (中国标准时间)
new Date().getTime() => 1531439720243
new Date().getFullYear() => 2018
new Date().getMonth() => 6 // 得到的月份 +1 就是现在实际的月份 7月
new Date().getDate() => 13
new Date('2018-7-12') 与 new Date('2018/7/12') 与 new Date('2018/07/12')
=> 输出的都是Thu Jul 12 2018 00:00:00 GMT+0800 (中国标准时间) 0点
但是:new Date('2018-07-12')
=> 输出的却是Thu Jul 12 2018 08:00:00 GMT+0800 (中国标准时间) 8点
起初做东西的时候,没太过留意其中的区别,后来得出的时间,让我一脸懵逼,所以以后我们计算时间时要记得replace(/-/ig,"/")
function getTime(lastTime){
// 就如上面所说new Date('2018-07-12') 与 new Date('2018/07/12')的区别,网上的答案很多都是替换了的,但是要亲自去体验下才能了解为什么要替换
var s1 = new Date(lastTime.replace(/-/ig,"/"));
var s2 = new Date();
runTime = parseInt((s2.getTime() - s1.getTime()) / 1000); // 得到总共几秒
var year = Math.floor(runTime / 86400 / 365); // 得到多少年
var runTimeYear = runTime % (86400 * 365); // 模年之后余下的秒数
var month = Math.floor(runTimeYear / 86400 / 30); // 得到多少个月
var runTimeMonth = runTime % (86400 * 30); // 模月之后余下的秒数
var day = Math.floor(runTimeMonth / 86400); // 得到多少天
var runTimeDay = runTime % 86400; // 模天之后余下的秒数
var hour = Math.floor(runTimeDay / 3600); // 得到多少小时
var runTimeHour = runTime % 3600; // 模小时之后余下的秒数
var minute = Math.floor(runTimeHour / 60); // 得到余下多少分钟
var runTimeMinute = runTime % 60; // 模分钟之后余下的秒数
var second = runTimeMinute; // 余下的秒数
return year+','+month+','+day+','+hour+','+minute+','+second;
}
//当前时间与2018-05-10的时间差
var lastTime = "2018-06-20";
console.log(getTime(startTime));
结语
前端react QQ群:
788023830----React/Redux - 地下老英雄前端交流QQ群:
249620372----FRONT-END-JS前端(我们的宗旨是,为了加班,为了秃顶……,仰望大佬),希望小伙伴们加群一起学习