尝试使用javascript

时间:2019-04-10 07:19:59

标签: javascript node.js

我正在从数据库中获取时间为2018-08-15T06:08:55.000Z之类的数据,我想要几分钟并在其中添加5分钟,我尝试使用getMinutes()方法,但抛出错误getMinutes()不是一个功能。

console.log('data as ', obj);
 var dt = obj.starttime; 
console.log('time from database' , dt);
console.log('getMinutes():'  ,dt.setMinutes( dt.getMinutes() + 05 ));

 data as  { id: 4009,
 mid: 1,cid: 41,wid: 7138,oid: null,status: null,options: null,
 starttime: '2018-08-15T06:08:55.000Z',duration: null,ordertotal: 50,
  counter: null,closetime: null }

 time from database 2018-08-15T06:08:55.000Z

 Uncaught Error
  message: 'dt.getMinutes is not a function',

7 个答案:

答案 0 :(得分:0)

将字符串转换为日期

 var dt = new Date('2018-08-15T06:08:55.000Z');
console.log(dt.getMinutes());

答案 1 :(得分:0)

dt只是一个字符串,您需要将其转换为日期对象

let dt = '2018-08-15T06:08:55.000Z';

date = new Date(dt);
console.log(date.getMinutes());

答案 2 :(得分:0)

添加这5分钟的“最安全”方法是执行以下操作:

const oldDate = new Date('2018-08-15T06:08:55.000Z')
console.log(newDate);
const updatedDate = new Date(newDate.getTime() + 5*60000);
console.log(updatedDate);

基本上,您将其转换为日期对象,然后使用getTime()将其转换为毫秒/纪元时间。这之后加上5分钟(5 * 60000毫秒)。最后,将其转换回Date对象。

答案 3 :(得分:0)

通过将字符串传递给Date构造函数将字符串转换为Date

然后使用date.setMinutes(date.getMinutes() + 5);添加5分钟:

const date = new Date('2018-08-15T06:08:55.000Z');
date.setMinutes(date.getMinutes() + 5);

console.log(date);

答案 4 :(得分:0)

我可能就是这样,您可能会从db获得字符串形式的时间“ 2018-08-15T06:08:55.000Z”。将其转换为日期格式,并从中获取getMinutes。

  let dt = "2018-08-15T06:08:55.000Z"
  let myTime = new Date(dt);
  console.log(myTime.getMinutes());

以上代码可以解决您的问题。

答案 5 :(得分:0)

我想dt.getMinutes()可能不起作用,因为dt不是Timeobject。

尝试以下操作:

dt = '2018-08-15T06:08:55.000Z'
let dt = new Date (dt);

console.log('getMinutes():'  ,dt.setMinutes( dt.getMinutes() + 05 ));

答案 6 :(得分:0)

这取决于您如何初始化“ dt”。 试试这个:

let dt_new = new Date(dt);
let min = dt_new.getMinutes();

您需要将dt初始化为日期对象