Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans Microsoft Dataverse, vous pouvez spécifier la façon dont les valeurs de date et d’heure sont présentées aux utilisateurs et comment elles sont ajustées en fonction des fuseaux horaires.
En plus des propriétés standard disponibles avec la plupart des colonnes, les colonnes de date et d’heure ont deux propriétés supplémentaires :
- Réglage du fuseau horaire : détermine s’il faut ajuster les valeurs pour les fuseaux horaires.
- Format : détermine s’il faut afficher la partie horaire de la valeur.
Réglage du fuseau horaire
Dataverse stocke toutes les valeurs de date et d’heure dans le fuseau horaire UTC. Lorsque votre application affiche des valeurs ou traite des valeurs saisies par les utilisateurs, Dataverse et les applications pilotées par modèle peuvent s’adapter au fuseau horaire de l’utilisateur grâce à ces options de comportement.
- Heure locale de l’utilisateur : ajustez les valeurs selon le fuseau horaire de l’utilisateur. Il s’agit du comportement par défaut pour le format Date et heure. Vous pouvez changer ce paramètre une fois pour un autre comportement.
- Sans fuseau horaire : aucune conversion de fuseau horaire. Il s’agit du comportement par défaut pour le format Date uniquement.
Définissez le fuseau horaire de l’utilisateur dans les options personnelles, et non le fuseau horaire système dans Windows, Android, iOS ou macOS. Cependant, le fuseau horaire du système peut affecter les scripts clients qui travaillent avec des dates JavaScript.
Formats
Toutes les colonnes de date et d’heure ont une composante temporelle, sauf si leur comportement est Date Uniquement. Format : détermine s’il faut afficher la partie temporelle de la valeur.
- Date et heure : affiche la date et l’heure de la valeur.
- Date uniquement : affiche uniquement la partie date de la valeur.
Note
Les utilisateurs peuvent toujours modifier la partie horaire si le Format est Date uniquement. Par exemple, à l’aide d’appels d’API Web ou à l’aide d’un contrôle qui a la composante temporelle. Ce comportement est différent de Date uniquementComportement, où la partie heure n’est pas stockée du tout.
Instructions d’utilisation
Utilisez le fuseau horaire indépendant lorsque les informations de fuseau horaire ne sont pas requises, telles que les heures d’enregistrement de l’hôtel. Avec cette sélection, les utilisateurs de tous les fuseaux horaires voient la même valeur de date et d’heure.
Utilisez uniquement la date lorsque des informations sur l’heure du jour et le fuseau horaire ne sont pas nécessaires, telles que les anniversaires ou les anniversaires de mariage. Avec cette sélection, les utilisateurs de tous les fuseaux horaires voient exactement la même valeur de date.
L'indépendant du fuseau horaire avec Date uniquement est pratiquement identique à la définition de la colonne comme Date uniquement. Utilisez la première option si vous n’êtes pas sûr d’avoir besoin de la partie horaire à l’avenir.
Important
Évitez le format Date uniquement avec comportement local de l’utilisateur . Les utilisateurs de différents fuseaux horaires peuvent voir une date différente, ce qui n’est pas prévu dans la plupart des scénarios. Lorsqu’un utilisateur définit une date dans une application pilotée par modèle, la partie horaire définit automatiquement la valeur minuit de son fuseau horaire. Cela pourrait faire apparaître la date un jour plus tôt ou plus tard pour les autres utilisateurs.
Examples
Afficher les valeurs
Dataverse stocke 2023-10-15T07:30:00Z (ou 2023-10-15 pour le comportement Date uniquement). Les utilisateurs du fuseau horaire UTC-8 voient ces éléments dans l’application pilotée par modèle ou avec une requête d’API web pour la valeur formatée :
| Behavior | Formats | Afficher la valeur |
|---|---|---|
| Heure locale de l’utilisateur | Date et heure | 14 octobre 2023, 23h30 |
| Heure locale de l’utilisateur | Date uniquement | 14 octobre 2023 |
| Sans fuseau horaire | Date et heure | 15 octobre 2023, 7h30 |
| Sans fuseau horaire | Date uniquement | 15 octobre 2023 |
| Date uniquement | - | 15 octobre 2023 |
Saisir des valeurs dans une application
Les utilisateurs du fuseau horaire UTC-8 entrent October 14th, 2023, 11:30 pm dans une application pilotée par modèle. La valeur est enregistrée dans Dataverse comme suit :
| Behavior | Formats | Valeur enregistrée dans Dataverse |
|---|---|---|
| Heure locale de l’utilisateur | Date et heure | 2023-10-15T07:30:00Z |
| Heure locale de l’utilisateur | Date uniquement | 2023-10-15T07:30:00Z |
| Sans fuseau horaire | Date et heure | 2023-10-14T23:30:00Z |
| Sans fuseau horaire | Date uniquement | 2023-10-14T23:30:00Z |
| Date uniquement | - | 2023-10-14 |
Si l’utilisateur saisit uniquement la date October 14th, 2023, la partie horaire est supposée être minuit.
| Behavior | Formats | Valeur enregistrée dans Dataverse |
|---|---|---|
| Heure locale de l’utilisateur | Date uniquement | 2023-10-14T08:00:00Z |
| Sans fuseau horaire | Date uniquement | 2023-10-14T00:00:00Z |
| Date uniquement | - | 2023-10-14 |
Saisir des valeurs non valides dans une application
Les clients n’ont pas tous la même façon de traiter les entrées non valides. Par exemple, dans le fuseau horaire du Pacifique, l'heure d'été a commencé le 12 mars 2023 à 2 h 00, avançant l'heure d'une heure à 3 h 00. Le temps entre 2h00 et 3h00 du matin ce jour-là n’existe pas. Lorsque les utilisateurs essaient de saisir une valeur dans cette plage de temps, les applications peuvent faire l’une des choses suivantes :
- Passer à l’heure précédente ou suivante.
- Revenir à la dernière valeur connue.
- Afficher un message d’erreur.
- Ne pas afficher les heures entre 2h00 et 3h00 du matin dans le sélecteur de temps, afin que les utilisateurs ne puissent pas les sélectionner en premier lieu.
De même, différents clients ont différentes manières de gérer des plages de temps répétées. Par exemple, dans le fuseau horaire du Pacifique, l'heure d'été s’est terminée le 5 novembre 2023 à 2 h 00, retardant l'heure d'une heure à 1 h 00. Le temps entre 1 h 00 et 2 h 00 du matin ce jour-là est répété deux fois. Une heure comme 1 h 30 du matin peut faire référence à l’un ou l’autre fuseau horaire. Si vous devez afficher ou saisir sans ambiguïté des heures dans cette plage, il est préférable de passer temporairement à un fuseau horaire qui n’utilise pas l’heure d’été.
Obtenir des valeurs brutes avec l’API web
Dataverse stocke 2023-10-15T07:30:00Z (ou 2023-10-15 pour le comportement Date uniquement). Les utilisateurs de tous les fuseaux horaires obtiennent ces valeurs avec une demande d’API web pour la valeur :
| Behavior | Formats | Valeur brute |
|---|---|---|
| Heure locale de l’utilisateur | Date et heure | 2023-10-15T07:30:00Z |
| Heure locale de l’utilisateur | Date uniquement | 2023-10-15T07:30:00Z |
| Sans fuseau horaire | Date et heure | 2023-10-15T07:30:00Z |
| Sans fuseau horaire | Date uniquement | 2023-10-15T07:30:00Z |
| Date uniquement | - | 2023-10-15 |
Obtenir des valeurs avec l’API client
Les utilisateurs du fuseau horaire UTC-8 entrent October 14th, 2023, 11:30 pm dans une application pilotée par modèle.
Les fonctions d’API client comme formContext.getAttribute(<column name>).getValue() renvoient la valeur avec les ajustements de fuseau horaire appliqués :
| Behavior | Formats | Javascript dateValue.toUTCString() |
|---|---|---|
| Heure locale de l’utilisateur | Date et heure | 2023-10-15 07:30 (UTC) |
| Heure locale de l’utilisateur | Date uniquement | 2023-10-15 07:30 (UTC) |
Pour un comportement Sans fuseau horaire, la valeur de date JavaScript correspond au fuseau horaire du navigateur :
| Behavior | Formats | Javascript dateValue.toString() |
|---|---|---|
| Sans fuseau horaire | Date et heure | 2023-10-14 23h30 (fuseau horaire du navigateur) |
| Sans fuseau horaire | Date uniquement | 2023-10-14 23h30 (fuseau horaire du navigateur) |
Les valeurs de date JavaScript ont toujours une composante temporelle. C’est pourquoi le comportement Date uniquement a une composante horaire de minuit :
| Behavior | Formats | Javascript dateValue.toString() |
|---|---|---|
| Date uniquement | - | 2023-10-15 00:00 (fuseau horaire du navigateur) |
Note
Les valeurs de date JavaScript sont affectées par le fuseau horaire du navigateur, qui provient des paramètres du système d’exploitation de l’appareil.
Pour le comportement local de l’utilisateur , interprétez le résultat de l’API cliente en tant que valeur UTC. Utilisez Date.getUTCDate() ou Date.getUTCHours() pour travailler avec. Pour obtenir le résultat que voit l’utilisateur, appliquez getTimeZoneOffsetMinutes. N’utilisez Date.getDate() pas ou Date.getHours() parce que ces fonctions affichent la valeur dans le fuseau horaire du navigateur.
Pour le comportement indépendant du fuseau horaire et date uniquement , interprétez le résultat de l’API cliente en tant que valeur dans le fuseau horaire du navigateur. Utilisez Date.getDate() ou Date.getHours() pour travailler avec. N’utilisez pas Date.getUTCDate() ou Date.getUTCHours() car vous n’avez pas besoin d’ajuster les fuseaux horaires.
Modifier le comportement de l’heure locale de l’utilisateur
Sauf si l’éditeur d’une solution managée empêche la modification du comportement local, vous pouvez modifier le comportement des colonnes de date personnalisées existantes, de utilisateur local à date uniquement ou indépendant du fuseau horaire. Cette modification n’est effectuée qu’une seule fois.
Modifier le comportement de la colonne affecte les valeurs de colonne qui sont ajoutées ou modifiées après la modification du comportement de colonne. Les valeurs de colonnes existantes sont conservées dans la base de données au format fuseau horaire UTC. Pour modifier le comportement des valeurs de colonne existantes de UTC en Date uniquement, vous pouvez avoir besoin de l’aide d’un développeur pour convertir le comportement des valeurs de date et d’heure existantes dans la base de données.
Avertissement
Avant de modifier le comportement d’une colonne de date et d’heure existante, passez en revue toutes les dépendances de la colonne, telles que les règles métier, les flux de travail, les colonnes calculées ou les colonnes de cumul, pour vous assurer qu’il n’y a aucun problème en raison de la modification du comportement. Après avoir modifié le comportement d’une colonne de date et heure, ouvrez chaque enregistrement de règle métier, de workflow, de colonne calculée et de colonne cumulative qui dépend de la colonne que vous avez modifié, vous devez lire les informations et les enregistrer pour garantir que le dernier comportement de la colonne de date et heure et la dernière valeur sont utilisés.
Modification du comportement pendant l’importation d’une solution
Lorsque vous importez une solution qui contient une colonne Date avec l’utilisateur local, vous pouvez modifier le comportement en Date uniquement ou en fuseau horaire indépendant.
Note
Vous ne pouvez modifier le comportement d’une colonne Date uniquement ou Date et heure gérée existante que si vous en êtes l’éditeur. Pour modifier ces champs, il faut mettre à jour la solution qui a ajouté la colonne Date uniquement ou Date et heure. Plus d’informations : Mettre à niveau ou mettre à jour une solution
Empêcher la modification du comportement
Si vous distribuez une colonne de date personnalisé dans une solution gérée, empêchez les utilisateurs de votre solution de modifier le comportement en définissant la propriété gérée CanChangeDateTimeBehavior sur False. Informations complémentaires : Définir les propriétés gérées des colonnes
Opérateurs de requête de date et d’heure non pris en charge pour le comportement Date uniquement
Les opérateurs de requête liés aux dates et heures suivants ne sont pas valides pour le comportement Date uniquement. Une erreur d’exception d’opérateur non valide est lancée lorsqu’un de ces opérateurs est utilisé dans la requête.
- Plus ancien que X minutes
- Plus de X heures
- X dernières heures
- X prochaines heures
Voir aussi
Résoudre les problèmes de date et d’heure dans les applications pilotées par modèle
Créer et modifier des colonnes
Définir des colonnes calculées pour automatiser les calculs manuels
Propriétés gérées des colonnes
Propriétés gérées
Blog : Travailler avec les fuseaux horaires dans Dataverse
Configurer le comportement et le format de la colonne de date et d’heure à l’aide de code