Je n'ai pas trouvé de moyen de définir le fuseau horaire dans la requête pour SpreadView non plus. Dans une réponse à une requête similaire here, ils ont mentionné qu'ils ne prennent pas en charge le fuseau horaire dans leurs contrôles non plus. Vous pouvez cependant appliquer une solution intermédiaire. Ils semblent prendre en compte le fuseau horaire du navigateur actuel lorsque vous passez un objet date comme Date(yyyy,mm,dd)
. Donc, si vous pouvez convertir les dates dans vos données que vous recevez (ou, le tableau des objets que vous avez) dans le fuseau horaire du navigateur, cela résoudrait votre problème en théorie. Vous pouvez convertir votre champ Date
dans le tableau d'objets à l'aide moment.js AS-
cons convertDateTimeToBrowserTime = (dateTimeWithTimeZone)
=> moment(dateTimeWithTimeZone, 'YYYY-MM-DDTHH:mm:ssZ').local().format('YYYY-MM-DD')
// with recent version of moment, you can use a slightly shorter syntax like:
// => moment(dateTimeWithTimeZone, moment.ISO_8601).local().format(YYYY-MM-DD)
Cela vous permet de convertir vos valeurs de date dans la collection à la date appropriée selon le fuseau horaire du navigateur. Après ce pré-traitement, votre requête donnée devrait fonctionner comme prévu.
Je ne suis pas familier avec la bibliothèque de vues de propagation de Grapecity, mais je suppose que c'est parce qu'il filtre des dates par la représentation de chaîne. Essayez d'utiliser le filtrage sur les 10 premiers caractères ou peut-être de normaliser toutes les dates aux dates UTC. –