js处理时间一不小心就会犯错.

慎用tojson
  • 这个拿到的是utc0的时间.
  • 因此还是老老实实的用getdate…
//20200809
//正确的
const m=t.getMonth()+1;
const d=t.getDate();
return ''+t.getFullYear()+(m<10? '0'+m:m)+(d<10? '0'+d:d);
//错误的, 虽然很简洁, 但是, 除非你是英国人, 否则这个时区不对啊.
return m.toJSON().slice(0,10).replace(/-/g,'');
本月最后一天
//正确的方案
const day30 = new Date(t.getFullYear(),t.getMonth()+1,0);

//错误的方案, 比如8月31日, 那么到9月31日就是10月份了.
let day30 = new Date(this.data.current);
day30.setMonth(day30.getMonth() + 1); //搞到下一个月
day30.setDate(0); //搞回这个月的最后一天