Javascript会更改某些数据中的数据

时间:2017-09-01 19:38:50

标签: javascript

我有一个变量,它返回以下内容:

INSERT INTO Table2
SELECT ThisColumn, ThatColumn, 'new string', OtherColumns
FROM Table1
WHERE ID = ?;

如果您查看数据字段,我需要一种方法将该字段上的数据更改为yyyy-mm-dd。

换句话说..如果我们把这个例子作为参考,我需要数据字段值:

此:

{
    "id":1,
    "refnumber":3,
    "active":false,
    "date":"2017-09-14T23:00:00.000Z",
    "addons":0,
    "age":0
}

要改为:

2017-09-14T23:00:00.000Z

我该怎么做?

4 个答案:

答案 0 :(得分:2)

你应该能够切掉尾随的字符。

data.date = data.date.slice(0, 10);

这是有效的,因为您的数据格式是可预测的形式,其中月份和日期具有0填充。

答案 1 :(得分:0)

我建议使用名为momentjs的库来满足您所有的javascript日期操作需求。

https://momentjs.com/

有了它,你可以轻松地做你想做的事:moment(data.date).format('YYYY-MM-DD')

答案 2 :(得分:0)

请注意,您的JSON无效,因为date字符串未正确引用,但假设已更正并且您的JSON对象名为myObject,则以下内容将起作用:

var date = new Date(myObject.date); //your string will become a date object

//now operate on that date object by extracting the year, month,
//and day into a string
console.log(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());

答案 3 :(得分:0)

那么你可以将字符串转换为日期然后格式化它 这是一个例子

function formate(date) {
if (typeof date == "string")
    date = new Date(date);
  var day = (date.getDate() <= 9 ? "0" + date.getDate() : 
 date.getDate());
 var month = (date.getMonth() + 1 <= 9 ? "0" + 
(date.getMonth() + 1) : (date.getMonth() + 1));
var dateString = day + "-" + month + "-" + 
date.getFullYear() + " " + date.getHours() + ":" + 
date.getMinutes();

return dateString;
}