**
近期在写后台管理系统的项目,时间戳,中国标准时间以及日期换算成天数。用到的频率比较高
中国标准时间(Thu May 12 08:00:00 GMT+0800 )转化为yyyy-MM-dd格式例如:var chinaStandard= 'Thu May 12 08:00:00 GMT+0800' (后台返回的标准时间)var date = new Date(chinaStandard);var y = date.getFullYear();var m = date.getMonth() + 1;m = m < 10 ? ('0' + m) : m;var d = date.getDate();d = d < 10 ? ('0' + d) : d;var h = date.getHours();var minute = date.getMinutes();minute = minute < 10 ? ('0' + minute) : minute;let time = y + '-' + m + '-' + d+' '+h+':'+minute; //这里如果不需要小时 分 后边的可以不需要拼接
时间戳(159066)转换成yyyy-mm-dd这种时间格式的方法:
var timeC = '159066'var date = new Date(parseInt(timeC) * 1000); //如果后台的返回的时间戳没有*1000 自己*上,如果后台返回的已经*过1000 则不用加 var y = date.getFullYear();var m = date.getMonth() + 1;m = m < 10 ? ('0' + m) : m;var d = date.getDate();d = d < 10 ? ('0' + d) : d;var time = y+'-'+m+'-'+d;
换算日期之间的相差天数
let date1 = new Date(minDate); minDate这里可以是中国标准时间或者yyyy-mm-dd格式这里是不影响换算的let date2 = new Date(maxDate); 同minDatedate1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());date2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());const diff = date2.getTime() - date1.getTime(); 这里注意日期之间结束和开始,否则相减出来的很有肯能是负数const day = diff / (24 * 60 * 60 * 1000);
js计算几天后的日期
var date = new Date();//这里的day就是你要加的天数date.setDate(date.getDate()+day+1); //这里1 根据要不要获取当天的日期 看自己的需求决定加还是不加var m = date.getMonth() + 1;m = m < 10 ? ('0' + m) : m;var d = date.getDate();d = d < 10 ? ('0' + d) : d;console.log(date.getFullYear() +"-"+ m +"-"+ d);
近期时间类型上的转换就那么多,后期有用到其他的会更新,觉得有帮助的话,可以关注一下。一起分享,讨论