如何通过以下代码将数据拆分为2018-07-17
:
getCompanyHolydayLeave() {
this.props.actions.getCompanyLeaveDetails().then(() => {
if (!this.props.common.getCompanyLeaveDetailsPending) {
const poyaArray= this.props.common.companyLeave
var result = poyaArray.map((poyaArray) => poyaArray.date )
var xData= result.toString().split("T")
this.setState({ companyLeave:xData });
}
});
}
我的输出xdata
就是这样。
0: "2018-04-29"
1: "18:30:00.000Z,2018-05-06"
2: "18:30:00.000Z,2018-05-28"
3: "18:30:00.000Z,2018-06-26"
我需要这样:
0: "2018-04-29"
1: "2018-05-06"
我该怎么办?
答案 0 :(得分:6)
您可以使用xData
格式化map()
:
var xData = ["2018-04-29",
"18:30:00.000Z,2018-05-06",
"18:30:00.000Z,2018-05-28",
"18:30:00.000Z,2018-06-26"];
xData = xData.map(d => d.split(',')[d.split(',').length-1]);
console.log(xData);
答案 1 :(得分:3)
您可以非常容易地在逗号(,)上拆分。之后,您需要在日期上应用格式。以下是该代码:
var x="18:30:00.000Z,2018-05-06";
var t=x.split(',') // it will give you array
new Date(t[1])
下面您可以为日期应用格式器
答案 2 :(得分:3)
Date
!输入日期格式的更改不会影响输出格式。
function convertDate(dateStr){
var _tmp = new Date(dateStr);
return _tmp.toISOString().split("T")[0];
}
var dateArray = ["2018-04-29","18:30:00.000Z,2018-05-06","18:30:00.000Z,2018-05-28","18:30:00.000Z,2018-06-26"]
function convertDate(dateStr){
var _tmp = new Date(dateStr);
return _tmp.toISOString().split("T")[0];
}
var newDateArray = dateArray.map(x=>convertDate(x));
console.log(newDateArray);
答案 3 :(得分:2)
假设您在xData中具有值。 只需遍历xData中的每个值并执行:
xData[i] = xData.split[i](",")[1];
然后您将在xData
变量中保存更改的数据。
或者,如果您想让它更清晰一点,可以执行以下操作:
var temp = xData.split[i](",");
xData[i] = temp[1];
答案 4 :(得分:2)
使用Date类,您可以创建这样的日期格式:
let date = new Date("18:30:00.000Z,2018-05-06");
let dateString = date.toISOString().split("T")[0];
Date类的构造函数使用Date-class构造函数理解所有0-4个输入示例。使用ISO标准datetime格式的date-part构造输出。
答案 5 :(得分:2)
这是将字符串2018-07-17T09:03:08.819Z
转换为日期的方法。
var fromDate = new Date("2018-07-17T09:03:08.819Z");
var formattedDate = fromDate.getFullYear() + "-" + (fromDate.getMonth()+1) + "-" + fromDate.getDate();
console.log(formattedDate);
在使用时区时请确保该时间。