获取d.getTime不是一个函数

时间:2018-06-11 08:06:32

标签: javascript function date timestamp utc

我正在尝试获取Timestamp的Date值。我想得到日期的UTC等价值,因为当前的工作实现使用我的本地时区。我找到了这个非常酷的方法toUTCString()

给出以下代码行:

console.log("new Date(data[i].time).toUTCString()" , new Date(data[i].time).toUTCString());
console.log("new Date(data[i].time)" , new Date(data[i].time))
tempData.push(Object.assign({}, data[i], {'date': new Date(data[i].time).toUTCString()}));

控制台日志返回以下内容并获得转换后的结果:

new Date(data[i].time).toUTCString() Wed, 06 Jun 2018 03:50:00 GMT
new Date(data[i].time) Wed Jun 06 2018 11:50:00 GMT+0800 (+08)

给我这条错误消息:

Uncaught (in promise) TypeError: d.getTime is not a function

作为进一步的研究,一些SO答案指出问题是因为它是一个字符串值,但我认为我使用正确的方法将其转换为UTC。

我在这里遗漏了什么吗?谢谢!

当我运行webpack时,我有一个自动生成的文件,这是我根据错误指示的行。

var discontinuousIndexCalculator = (0, _utils.slidingWindow)().windowSize(2).undefinedValue(function (d, idx, di) {
    var i = di;
    var row = {
        date: d.getTime(),
        startOf30Seconds: false,
        startOfMinute: false,
        startOf5Minutes: false,
        startOf15Minutes: false,
        startOf30Minutes: false,
        startOfHour: false,
        startOfEighthOfADay: false,
        startOfQuarterDay: false,
        startOfHalfDay: false,
        startOfDay: true,
        startOfWeek: false,
        startOfMonth: false,
        startOfQuarter: false,
        startOfYear: false
    };
    var level = evaluateLevel(row, d, i);
    return _extends({}, row, { index: i }, level);
});

2 个答案:

答案 0 :(得分:0)

你可以尝试类似的东西。



const data = [
 {
  time:new Date().getTime()
 },
 {
  time:new Date().getTime()
 },
 {
  time:new Date().getTime()
 },
 {
  time:new Date().getTime()
 },
 {
  time:new Date().getTime()
 }
];

const dataWithString = [];

for(let i = 0; i< data.length;i++){
   console.log(new Date(data[i].time).toUTCString()); //Something similar has you have
   
   //Solution 1 create an other array and save the index to map each array;
   dataWithString.push({
    dateString:new Date(data[i].time).toUTCString(),
    index:i
  });
  
  //Solution 2
  data[i].dateString = new Date(data[i].time).toUTCString();
}

console.log("Results");
console.log(dataWithString);
console.log(data);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在答案和Tim的评论here中找到了我需要的内容。可能不是最好的解决方案,但这有效。这实际上是给了我一个我需要的Date对象,而不是字符串值。

我使用:value = {{ ($student_information->birthday)?$student_information->birthday:""}}