Nel mio caso il server è in CST e sono in MST. Avevo bisogno di mantenere i miei dati SQL Server sul browser e ricevevo il 02/08/18 alle 23:57 il 02/08/18 alle 22:57 sul mio Kendo Grid. Così ho fatto questo, spero che aiuta:
compensato
Controlli/fuso orario dell'utente Browser
Gets differenza di ore da fuso orario del server di offset
guarda una colonna di Kendo griglia con classe .dbDate
Afferra la data in quella cella (visualizzataTempo) dall'oggetto dati
Utilizza Moment.js per convertire (convertito in tempo reale) in base alla differenza (diff) in ore passate.
Formati convertedTime al formato desiderato cioè 02/08/18 23:57
Aggiungere 1 a i in modo che la prossima data in oggetto viene regolata
passa la griglia indietro la data e l'ora aggiornata.
Deve essere eseguito per ultimo nella pagina/caricamento della griglia/aggiornamento.
function getDateOffset() {
var date = new Date();
var offset;
var diff;
offset = date.getTimezoneOffset()
if (offset > 360) { //360 = CST
diff = +(offset - 360)/60
} else if (offset < 360) {
diff = -(360 - offset)/60
} else {
diff = 0
}
$(".dbDate").each(function (i) {
var grid = $('#Grid').data('kendoGrid');
var displayedTime = grid.dataSource.data()[i].TicketDateTime
var convertedTime = new moment(displayedTime).add(diff, 'hours').toDate();
var originalTime = moment(convertedTime).format("MM/DD/YY HH:mm");
i + 1
$(this).html(originalTime)
})
}
fonte
2018-02-21 22:56:17
Ricorda che in questo caso il filtraggio con il controllo di selezione data non funzionerà comunque. –
Intendevi 'columns.Bound (p => p.x);'? – ataravati