Javascript:
Code: Select all
document.addEventListener('DOMContentLoaded', function() {
const calOpts = {
locale: 'ee',
slotDuration: '00:15:00',
slotLabelInterval: '00:15',
allDaySlot: false,
selectConstraint: 'businessHours',
select : function( selectionInfo ) {
document.getElementById('start').value = selectionInfo.start
},
selectable: true,
events: { url: 'api/fullcalendar' }
}
const calendarEl = document.getElementById('calendar')
calendar = new FullCalendar.Calendar(calendarEl, calOpts)
calendar.render()
})
Code: Select all
Mon. 30. Dezember 2024 09:30:00 GMT+0200 (Ida -Euroopa standardaeg)
Der .NET 9 MVC-Controller analysiert es mit
Code: Select all
[HttpPost]
public async Task Kinnitatud(string start) {
DateTime algus = DateTimeOffset.Parse(start,new CultureInfo("ee")).UtcDateTime;
}
Code: Select all
String 'Mon Dec 30 2024 09:30:00 GMT+0200 (Ida-Euroopa standardaeg)' was not recognized as a valid DateTime.
locale: 'ee',
Einstellung, aber der Startwert liegt immer noch in der EE-Kultur. ee ist Browserkultur. Fullcalendar gibt „selectionInfo.start“ immer im Browserkulturformat zurück.
Im Controller versucht, DateTime.Parse zu verwenden:
Code: Select all
DateTime algus = DateTime.Parse(start, new CultureInfo("ee")).ToUniversalTime()
Wie erzwinge ich, dass fullcalendar die ausgewählte Startzeit im invarianten Kulturformat zurückgibt?
Oder: Benutzer haben unterschiedliche Kulturen im Browser. Wie analysiere ich startselectionInfo.start, das von fullcalendar zurückgegeben wird?