如何在JavaScript中引用今天的日期?

时间:2017-10-03 15:32:14

标签: javascript date google-apps-script

我有以下代码。这是一个Apps脚本,可以在指定的两个日期之间获取所有Google日历事件。

$pdf = new Spatie\PdfToImage\Pdf('public/test/test.pdf');
$pdf = new \Spatie\PdfToImage\Pdf('public/test/test.pdf');

目前,这两个日期是硬编码的,在宣布// from https://blog.ouseful.info/2010/03/05/grabbing-google-calendar-event-details-into-a-spreadsheet/ function caltest3(){ //http://www.google.com/google-d-s/scripts/class_calendar.html#getEvents // The code below will retrieve events between 2 dates for the user's default calendar and // display the events the current spreadsheet var cal = CalendarApp.getDefaultCalendar(); var sheet = SpreadsheetApp.getActiveSheet(); var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); var events = cal.getEvents(new Date("October 3, 2017 00:00:00"), new Date("October 3, 2017 23:00:00")); for (var i=0;i<events.length;i++) { //http://www.google.com/google-d-s/scripts/class_calendarevent.html var details=[[events[i].getStartTime(), events[i].getEndTime(), events[i].getTitle(), events[i].getDescription()]]; var row=i+1; var range=sheet.getRange(row,1,1,4); range.setValues(details); } } 的行上。我将日期范围设置为相同日期,重点是前23个小时。

但是,由于脚本每天都会触发,我无法对这两个日期进行硬编码 - 它们应该都是动态的,反映当前的日期。

那么,代替硬编码日期,我如何以2017年10月3日和#34;格式&#34;格式&#34;就在那里,同时保留了硬编码的时间?

是的,我已经调查并阅读了Date object,但我似乎无法做出正确的表达方式。一些额外的信息应该可以帮助我更多地了解它。

2 个答案:

答案 0 :(得分:4)

如果你看一下Date object

中的no-args构造函数
  

如果没有提供参数,构造函数会创建一个JavaScript   根据系统的当前日期和时间的日期对象   设置。

你可以看到制作一个新的约会对象将为今天创建一个。请注意,该文档中还列出了getter / setter。因此,您可以创建一个新的Date对象,并将小时/分钟/秒设置为您想要的时间

let startDate = new Date();
startDate.setHours(0);
startDate.setMinutes(0);
startDate.setSeconds(0);

let endDate = new Date();
endDate.setHours(23);
endDate.setMinutes(0);
endDate.setSeconds(0);

答案 1 :(得分:0)

编辑:删除+1到月。最初是从副本&amp;粘贴原始代码。

  var today = new Date();
  var dd = today.getDate();
  var mm = today.getMonth(); //January is 0!
  var yyyy = today.getFullYear();

  var events = cal.getEvents(new Date(yyyy, mm, dd, 0, 0, 0), new Date(yyyy, mm, dd, 23, 0, 0));