Вы можете использовать это, если хотите использовать локальное время вашего сервера:
var today=new Date();
var startDate=new Date(today.getFullYear(), today.getMonth()-1, 1, 0,0,0);
var endDate=new Date(today.getFullYear(), today.getMonth(), 1, 0,0,0);
endDate.setSeconds(-1);
document.write(startDate);
document.write('<br>');
document.write(endDate);
Если вы предпочитаете всегда использовать время по Гринвичу + 0, чем этот код:
var today=new Date();
today=new Date(today.valueOf() + today.getTimezoneOffset() * 60000);
var startDate=new Date(today.getFullYear(), today.getMonth()-1, 1, 0,0,0);
var endDate=new Date(today.getFullYear(), today.getMonth(), 1, 0,0,0);
endDate.setSeconds(-1);
console.log(today);
console.log(startDate);
console.log(endDate);
ваш код будет таким (для местного времени):
function export_gcal_to_gsheet(){
var mycal = "oli@waggerspack.com";
var cal = CalendarApp.getCalendarById(mycal);
var today=new Date();
var startDate=new Date(today.getFullYear(), today.getMonth()-1, 1, 0,0,0);
var endDate=new Date(today.getFullYear(), today.getMonth(), 1, 0,0,0);
endDate.setSeconds(-1);
var events = cal.getEvents(
startDate, // this date
endDate, // and this one
{search: 'Keba & Jenga'});
var sheet = SpreadsheetApp.getActiveSheet();
var header = [["Invoice"]]
var range = sheet.getRange(1,1,1,1);
range.setValues(header);
for (var i = 0; i < events.length; i++) {
var row = i + 12;
var myformula_placeholder = '';
var details = [[events[i].getDescription(), events[i].getStartTime()]];
var range = sheet.getRange(row, 1, 1, 2);
range.setValues(details);
var cell = sheet.getRange(row, 3);
cell.setFormula('=(HOUR(F' + row + ')+(MINUTE(F' + row + ')/60))-(HOUR(E' + row + ')+(MINUTE(E' + row + ')/60))');
cell.setNumberFormat('');
}
}
или ваш код может быть таким (для GMT + 0 раз):
function export_gcal_to_gsheet(){
var mycal = "oli@waggerspack.com";
var cal = CalendarApp.getCalendarById(mycal);
var today=new Date();
today=new Date(today.valueOf() + today.getTimezoneOffset() * 60000);
var startDate=new Date(today.getFullYear(), today.getMonth()-1, 1, 0,0,0);
var endDate=new Date(today.getFullYear(), today.getMonth(), 1, 0,0,0);
endDate.setSeconds(-1);
var events = cal.getEvents(
startDate, // this date
endDate, // and this one
{search: 'Keba & Jenga'});
var sheet = SpreadsheetApp.getActiveSheet();
var header = [["Invoice"]]
var range = sheet.getRange(1,1,1,1);
range.setValues(header);
for (var i = 0; i < events.length; i++) {
var row = i + 12;
var myformula_placeholder = '';
var details = [[events[i].getDescription(), events[i].getStartTime()]];
var range = sheet.getRange(row, 1, 1, 2);
range.setValues(details);
var cell = sheet.getRange(row, 3);
cell.setFormula('=(HOUR(F' + row + ')+(MINUTE(F' + row + ')/60))-(HOUR(E' + row + ')+(MINUTE(E' + row + ')/60))');
cell.setNumberFormat('');
}
}