开发中遇见了一个客户比较扯淡的需求
 明明有可以选择时分秒的操作非不要就要懒省事,必须是一个时间显示成选中的年月日,但是时间格式要给后端传待时分秒的格式,列表展示也要带时分秒。
 所以就处理了
 let DATE: any = new Date(); // 当前日期
 let timestamp = Date.parse(DATE);
 let now = new Date(timestamp);
 console.log(timestamp);
 

 function getData(n) {
	  let now = new Date(n),
	    y = now.getFullYear(),
	    m = now.getMonth() + 1,
	    d = now.getDate();
	  return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}
getData(1691031289000) // 
 
上述封装了一个简单的日期转换,就足够用了
 然后就是处理日期拼接。发现我们只要时分秒就可以了。
处理为: 选中的时间 + " " + 选中的时间.toTimeString().substr(0, 8); 即是我们要的时间。
选中的时间 + " " + 选中的时间.toTimeString().substr(0, 8); 即是我们要的时间。
if ('cgTime' in changedFields) { // 判断是否点击了时间弹框,如果点击了就可以拿到选中的时间,如果没有就设置为空
  let cgTime = ''; // 选中的时间初始为空
  let DATE: any = new Date();
  const timestamp = Date.parse(DATE);
  let now = new Date(timestamp);
  if (changedFields.cgTime) {
    cgTime = changedFields.cgTime + ' ' + now.toTimeString().substr(0, 8);
    console.log(cgTime, 'cgTimecgTimecgTime');
  } else {
    this.formRef.setFieldsValue({
      cgTime: null,
    });
  }
  this.formRef.setFieldsValue({
    cgTime,
  });
}
                

















