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); //搞回这个月的最后一天
不过几个tostring确实是local的
var d = new Date();

//整串  Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
d.toString();    
d.toLocaleString();

//只有日期 Wed Jul 28 1993
d.toDateString(); 
d.toLocaleDateString();

//只有时分秒
d.toLocaleTimeString();
d.toTimeString()
iso, 返回格林威治时间
date.toISOString()
date.toJSON().slice(0,20)