Вставляя событие в google-calendar-api с помощью Golang, я могу заставить свое событие работать, когда я жестко закодировал дату
DateTime: «2019-04-11T14: 00: 00»,
но не тогда, когда я генерировал его из переменных
'DateTime: evtEndDate + "T" + evtEndTime,'
Я не вижу никакой разницы, но API делает
Здесь я печатаю созданную переменную и ее тип, затем жестко закодированную переменную и ее тип. Они выглядят одинаково
2019-04-11T06:00:00 string
2019-04-11T06:00:00 string
2019-04-11T14:00:00 string
2019-04-11T14:00:00 string
2019/04/11 12:48:17 Unable to create event. googleapi: Error 400: Invalid value for: Invalid format: "2019-04-11T14:00:00", invalid
exit status 1
Используемый код перехода:
event := &calendar.Event{
Summary: data.schShift + " - Test Event",
Location: "Canada",
Description: "Test event added by Go utility",
Start: &calendar.EventDateTime{
// This doesn't work
DateTime: evtStartDate + "T" + evtStartTime,
// This works (when unREM'd
// DateTime: "2019-04-11T06:00:00",
TimeZone: "America/Toronto",
},
End: &calendar.EventDateTime{
// This doesn't work
DateTime: evtEndDate + "T" + evtEndTime,
// This works (when unREM'd
// DateTime: "2019-04-11T14:00:00",
TimeZone: "America/Toronto",
},
}
evtStartDate = evtStartDate + "T" + evtStartTime
fmt.Printf("%v\t%T\n", evtStartDate, evtStartDate)
fmt.Printf("%v\t%T\n", event.Start.DateTime, event.Start.DateTime)
evtEndDate = evtEndDate + "T" + evtEndTime
fmt.Printf("%v\t%T\n", evtEndDate, evtEndDate)
fmt.Printf("%v\t%T\n", event.End.DateTime, event.End.DateTime)
Я ожидал, что переменная будет принята, так как она кажется того же типа