JavaScript函数可将昨天的日期设置为00:00:00

时间:2018-08-04 04:59:03

标签: javascript date pentaho-spoon

我需要创建一个JavaScript函数来获取昨天的日期和时间为午夜00:00:00。例如dynamodb_client = boto3.client('dynamodb') paginator = dynamodb_client.get_paginator('query') page_iterator = paginator.paginate(KeyConditionExpression=Key('mplaceId').eq(mplaceId)) for page in page_iterator: print(page['Items']) 2018-08-03 00:00:00函数在我的情况下不起作用。该脚本将用于set.Hours()数据集成中。我该怎么做。请帮助

2 个答案:

答案 0 :(得分:1)

您应该首先减去一天,然后将小时数设置为00:00:00,例如

var d = new Date();
d.setDate(d.getDate() - 1);
d.setHours(0,0,0,0);

console.log(d.toString());

如果 setHours 函数对您不起作用(即不可用或损坏,这看起来很奇怪),则可以使用:

var d = new Date();
d.setDate(d.getDate() - 1);
d = new Date(d.getFullYear(), d.getMonth(), d.getDate());

console.log(d.toString());

// Or even
var e = new Date();
e = new Date(e.getFullYear(), e.getMonth(), e.getDate() - 1);

console.log(e.toString());

答案 1 :(得分:0)

在Pentaho Data Integration中,由于性能会大大降低,因此在使用JavaScript之前,应始终尝试使用其他步骤。

对列使用带有Today()函数(在00:00:00记录当前日期的函数)的Formula步骤,创建一个值为-1的列,并在操作DATE A +中使用Calculator步骤B天。

如果您希望获得日期的确切时间,可以在公式步骤中使用函数Now()。