Javascript 如何从表达式更改“到”和“从”日期?
我从服务器获取json数据,在服务器中获取日期表达式,如“t+1”、“t+2”、“t-1”。t代表当前或系统日期。我需要将这些表达式更改为日期。如果Javascript 如何从表达式更改“到”和“从”日期?,javascript,jquery,regex,Javascript,Jquery,Regex,我从服务器获取json数据,在服务器中获取日期表达式,如“t+1”、“t+2”、“t-1”。t代表当前或系统日期。我需要将这些表达式更改为日期。如果t是今天的日期2016-03-14。然后t-12016-03-13。我们可以在javascript中更改此表达式吗 这是我得到的东西 输入 [ { "column": { "name": "a", "userId": "dipu" }, "de
t
是今天的日期2016-03-14。然后t-1
2016-03-13。我们可以在javascript中更改此表达式吗
这是我得到的东西
输入
[
{
"column": {
"name": "a",
"userId": "dipu"
},
"deal": {
"dealNumbers": [],
"fromDateExpression": {
"expression": "t-1",
"date": "2016-03-08"
},
"toDateExpression": {
"expression": "t",
"date": "2016-03-08"
}
}
},
{
"column": {
"name": "bb_test",
"userId": "dipu"
},
"deal": {
"dealNumbers": [
"HH_2282825"
],
"fromDateExpression": {
"expression": "t+1",
"date": "2016-03-09"
},
"toDateExpression": {
"expression": "t+7",
"date": "2016-03-17"
}
}
},
{
"column": {
"name": "my view",
"userId": "dipu",
"associatedWithAView": false
},
"deal": {
"dealNumbers": [
"HH_2282759"
],
"fromDateExpression": {
"expression": "t+2",
"date": "2016-02-19"
},
"toDateExpression": {
"expression": "t+3",
"date": "2016-02-19"
}
}
}
]
我需要转换json数组
这是预期的产出
[
{
"column": {
"name": "a",
"userId": "dipu"
},
"deal": {
"dealNumbers": [],
"fromDateExpression": {
"expression": "t-1",
"date": "2016-03-13"
},
"toDateExpression": {
"expression": "t",
"date": "2016-03-14"
}
}
},
{
"column": {
"name": "bb_test",
"userId": "dipu"
},
"deal": {
"dealNumbers": [
"HH_2282825"
],
"fromDateExpression": {
"expression": "t+1",
"date": "2016-03-15"
},
"toDateExpression": {
"expression": "t+7",
"date": "2016-03-21"
}
}
},
{
"column": {
"name": "my view",
"userId": "dipu",
"associatedWithAView": false
},
"deal": {
"dealNumbers": [
"HH_2282759"
],
"fromDateExpression": {
"expression": "t+2",
"date": "2016-03-16"
},
"toDateExpression": {
"expression": "t+3",
"date": "2016-02-17"
}
}
}
]
我可以用regex吗..因为有很多像t+5
,t+6
,怎么样
(我想指出一点——下面的代码完全有效)
这与预期的不一样。请删除您的答案谢谢您的帮助..我们可以更改日期yyyy-mm-dd的格式吗..例如2016-03-15,您可以为此包含您的代码,因为您已经编写了
changedatefromfromexpress
中的代码抱歉..创建日期后我没有收到..我无法格式化日期
[
{
"column": {
"name": "a",
"userId": "dipu"
},
"deal": {
"dealNumbers": [],
"fromDateExpression": {
"expression": "t-1",
"date": "2016-03-13"
},
"toDateExpression": {
"expression": "t",
"date": "2016-03-14"
}
}
},
{
"column": {
"name": "bb_test",
"userId": "dipu"
},
"deal": {
"dealNumbers": [
"HH_2282825"
],
"fromDateExpression": {
"expression": "t+1",
"date": "2016-03-15"
},
"toDateExpression": {
"expression": "t+7",
"date": "2016-03-21"
}
}
},
{
"column": {
"name": "my view",
"userId": "dipu",
"associatedWithAView": false
},
"deal": {
"dealNumbers": [
"HH_2282759"
],
"fromDateExpression": {
"expression": "t+2",
"date": "2016-03-16"
},
"toDateExpression": {
"expression": "t+3",
"date": "2016-02-17"
}
}
}
]
Date.prototype.गांवारू=function(d){return new Date(this.valueOf()+864E5*d);};
function ლ_ಠ益ಠ_ლ(ಠ_ಠ){
var π = ಠ_ಠ.getDate();
var ಠ = ("0" + (ಠ_ಠ.getMonth() + 1)).slice(-2);
var शैतानआरहाहै = ಠ_ಠ.getFullYear();
return शैतानआरहाहै+'-'+ಠ+'-'+π;
}
var जावास्क्रिप्ट = data.map(function(el){
var Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ = new Date();
el.deal.fromDateExpression.date = ლ_ಠ益ಠ_ლ(Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ .गांवारू(el.deal.fromDateExpression.expression.match(/t(.*)/)[1]));
el.deal.toDateExpression.date = ლ_ಠ益ಠ_ლ(Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ .गांवारू(el.deal.toDateExpression.expression.match(/t(.*)/)[1]));
return el;
})
console.log(जावास्क्रिप्ट);