在某些情况下,我们会遇到如下的需求:传参时需要将时间或者是时间戳作为参数传给后端(如2021.06.18或者2021/06/18等不同形式的)。界面如下图:
传给后台的数据如下图:
所以为了应对各类形式的时间戳,写了一个简易的方法,代码如下
getFullDate(date, year, mouth, day, split) {
var y = date.getFullYear(); //获取年份
var m = date.getMonth() + 1; //获取月份
var d = date.getDate(); //获取日期
var fullDate = new Date(y + year, (m - 1) + mouth, d + day);
y = fullDate.getFullYear();
m = fullDate.getMonth() + 1;
d = fullDate.getDate();
return y + split + (String(m).length < 2 ? ('0' + m) : m) + split + (String(d).length < 2 ? ('0' + d) : d);
},
以上图的一年的时间戳为例,我的代码如下:
['+ this.getFullDate(new Date(),-1, 0, 0, '.')+'T_D'+ this.getFullDate(new Date(),0, 0, 0, '.')+']'
上述的getFullDate的五个参数分别指的是:1.new Date()是你想要设置的起始时间(我就获取现在的时间),2.year指的是你想要往前或者往后加减的年数(比如我是一年内的,则减一,反之加一),3.mouth的用法和年是一样的,4day的用法同上,5.split则是你想要用什么符号(如‘-’或者‘/’)对字段进行连接。该方法将产生一个完整时间。如需要产生时间戳可以使用两次该方法,并进行拼接,上图效果和代码都有。