在我的第一张纸上,我有这个东西:
E21: 1 juin 2020
G21: 09
H21: h
I21: 02
我想在第一张纸上保留它,但在第二张纸上我想要这样:
B3:2020-06-01 09:02
我尝试:
// I recover my sheet
var ss_evenement = SpreadsheetApp.getActive().getSheetByName('Evenement');
// I get my date
var dateDebut = ss_evenement.getRange('E21').activate().getValue();
// I put my date in sting
var dateDebutSTR = dateDebut.toString();
// I found the day of my date : with getDay I have the day of the week
var jourDebut = dateDebutSTR.substring(8,10);
// I found the month
var moisDebut = dateDebut.getMonth().toString();
// I found the Year
var anneeDebut = dateDebut.getYear().toString();
// I read the hours
var heureDebut = ss_evenement.getRange('G21').activate().getValue();
// I read the minutes
var minuteDebut = ss_evenement.getRange('I21').activate().getValue();
// I recreate my date
var dateheureDebut = new Date(anneeDebut, moisDebut, jourDebut, heureDebut, minuteDebut, "00", "00");
// I select the sheet to writing
var ss_calendrier = SpreadsheetApp.getActive().getSheetByName('Calendrier');
// I write my new date in my new sheet
ss_calendrier.getRange('B4').activate().setValue(dateheureDebut);
在调试中,我有:
dateDebut->Date (541813791)->Thu Apr 02 2020 03:00:00 GMT-0400 (EDT)
dateDebutSTR->String->"Thu Apr 02 2020 03:00:00 GMT-0400 (EDT)"
jourDebut->String->"02"
moisDebut->String->"3"
anneeDebut->String->"2020"
heureDebut->String->"09"
minuteDebut->String->"02"
dateheureDebut->Date (541917478)->Thu Apr 02 2020 09:02:00 GMT-0400 (EDT)
事实上,在第二个文件中,我有:
01/06/2020 06:02
小时和格式不好。
答案 0 :(得分:0)
尝试一下:
appsettings.json
答案 1 :(得分:0)
您可以使用方法getDisplayValue()
获取工作表中显示的值。之后,更容易解析它并从其数据生成最终字符串。您可以在下面看到使用此技术的示例:
function copyDate() {
var evenementSheet = SpreadsheetApp.getActive().getSheetByName('Evenement');
var months = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];
var dateValues = evenementSheet.getRange('B7').getDisplayValue().split(' ');
var anne = dateValues[2];
var jour = dateValues[0];
var mois = months.indexOf(dateValues[1])+1;
var heure = evenementSheet.getRange('G21').getDisplayValue();
var minute = evenementSheet.getRange('I21').getDisplayValue();
var result = Utilities.formatString('%s-%s-%s %s:%s',
anne,
mois.length > 1 ? mois : '0' + mois,
jour.length > 1 ? jour : '0' + jour,
heure,
minute);
var calendrierSheet = SpreadsheetApp.getActive().getSheetByName('Calendrier');
calendrierSheet.getRange('B4').setValue(result);
}