Comportament i format de la columna de data i hora
Nota
Vigent a partir del novembre de 2020:
- S’ha canviat el nom del Common Data Service per Microsoft Dataverse. Més informació
- S’han actualitzat alguns termes del Microsoft Dataverse. Per exemple, ara entitat s’anomena taula, i el camp ha passat a anomenar-se columna. Més informació
Aquest article s’actualitzarà pròximament per reflectir la terminologia més recent.
Al Microsoft Dataverse, el tipus de dada Data i hora s'utilitza en moltes columnes de taula estàndard. En funció del tipus de data que representi la columna, podeu triar comportaments de columna diferents: Hora local de l'usuari, Només data o Independent del fus horari.
Comportament i format de la columna de data i hora
La taula següent conté informació sobre el comportament i el format de la columna de data i hora.
| Comportament | Format | Descripció |
|---|---|---|
| Hora local de l'usuari | Només data - o - Data i hora |
Aquest és el comportament per defecte de les columnes de data i hora personalitzades. Es mostren els valors de columna en l'hora local de l'usuari actual. Als serveis web, aquests valors es retornen amb un format de fus horari UTC comú. Podeu canviar-ho una vegada si seleccioneu el comportament per defecte. Més informació Canviar el comportament del valor Hora local de l'usuari |
| Només data | Només data | Sense conversió del fus horari. La part del valor corresponent a l'hora sempre és 12:00 AM. La part del valor corresponent a la data s'emmagatzema i es recupera segons s'especifica a la interfície d'usuari i als serveis web. |
| Independent del fus horari | Només data - o - Data i hora |
Sense conversió del fus horari. Els valors de data i hora s'emmagatzemen i es recuperen segons s'especifica a la interfície d'usuari i als serveis web. |
Canviar el comportament del valor Hora local de l'usuari:
Tret que l'editor d'una solució administrada ho impedeixi, podeu canviar el comportament de columnes de Data personalitzades existents d'Hora local de l'usuari a Només data o Independent del fus horari. Aquest canvi es pot fer una única vegada.
Canviar el comportament de la columna afecta els valors de columna que s'afegeixen o es modifiquen després que hagi canviat el comportament de la columna. Els valors de columna existents romanen a la base de dades en el format de fus horari d'UTC. Per canviar el comportament dels valors de columna existents d'UTC a Només data, pot ser que necessiteu l'ajuda d'un desenvolupador per fer-ho de forma programada. Més informació: Convertir el comportament dels valors de data i hora existents a la base de dades.
Advertiment
Abans de canviar el comportament d'una columna de data i hora existent, heu de revisar totes les dependències de la columna, com ara les regles de negocis, els fluxos de treball o les columnes calculades o les columnes de valor consolidat, per garantir que no es produirà cap error com a conseqüència del canvi. Després de canviar el comportament d'una columna de data i hora, heu d'obrir totes les regles de negoci, fluxos de treball, columnes calculades i columnes de valors consolidats dependents de la columna que heu canviat, revisar-ne la informació i desar-los per assegurar-vos que s'utilitzen el valor i el comportament més recents de la columna.
Canviar el comportament en importar la solució
Quan importeu una solució que conté una columna Data que utilitza el comportament Hora local de l'usuari, pot ser que tingueu l'opció de canviar-ne el comportament a Només data o Independent del fus horari.
Impedir el canvi de comportament
Si distribuïu una columna de data personalitzada en una solució administrada, podeu impedir que els usuaris que utilitzen la vostra solució canviïn el comportament. Per fer-ho, definiu la propietat administrada CanChangeDateTimeBehavior com a False. Més informació: Definir propietats administrades per a les columnes
Casos d'ús
Tingueu en compte els casos d'ús següents per als comportaments Només data i Independent del fus horari.
Escenari Només data: dates de naixement i aniversaris
El comportament de Només data està pensat per als casos en què la informació de l'hora i el fus horari no són necessaris, com ara les dates de naixement o els aniversaris. Amb aquesta selecció, tots els usuaris de l'aplicació d'arreu del món veuen exactament el mateix valor de data.
Escenari Independent del fus horari: registre en un hotel
Podeu fer servir aquest comportament quan no sigui necessària la informació del fus horari, com ara per a l'hora de registre en un hotel. Amb aquesta selecció, tots els usuaris de l'aplicació d'arreu del món veuen exactament el mateix valor de data i hora.
Pràctiques recomanades per utilitzar fusos horaris
Per a la columna Data i hora esperava (UTC/local) i estic veient el valor oposat
Això es produeix per la manca de paritat entre la configuració de la columna de la taula i la configuració del formulari de l'aplicació. Quan es configura una columna de taula com a Independent del fus horari o Local de l'usuari, determina si es respecta o no el desplaçament del fus horari quan es recuperen les dades de la botiga. No obstant, el formulari de l'aplicació també té un paràmetre d'UTC o local.
Això indica al formulari com interpretar les dades que rep del Dataverse. Si les dades recuperades del magatzem són independents del fus horari, però el formulari està definit com a local, les dades d'UTC es mostraran com a hora local de l'usuari segons el fus horari de l'usuari al seu perfil. El contrari també és cert, un valor local de l'usuari del magatzem es mostrarà com a UTC si el formulari està definit com a UTC. Afortunadament, els valors de fus horari de data del formulari es poden modificar sense que afecti les files existents.
Vaig triar Només data a la columna de taula, però al formulari es mostra un selector d'hora juntament amb la data
Això passa si trieu un comportament independent del fus horari o d'hora local de l'usuari per a la columna de només data. Al Dataverse, desarà per defecte l'hora 00:00:00, però si afegiu la columna a un formulari, es donarà per suposat que heu de definir l'hora també. Si deixeu els selectors de temps al formulari, els usuaris poden introduir una hora i es desarà diferent de 00:00:00. Com podeu solucionar-ho
- Editeu el formulari i suprimiu el selector de temps i les fórmules associades. Això farà que es desi l'hora com a 00:00:00 i encara es permetran els càlculs de data basats en el fus horari.
- Si la columna s'ha definit com a Hora local de l'usuari i no cal que la data es calculi amb la zona horària, podeu canviar-la per només de data. Aquest canvi és permanent i no es pot desfer. Aquest canvi no es pot fer a les columnes de comportament independent del fus horari. Sempre heu de tenir compte en canviar comportaments, ja que pot ser que altres aplicacions, connectors o fluxos de treball depenguin de les dades.
Tinc només una columna de data, però s'hi mostra la data incorrecta per a alguns usuaris
Si això passa, comproveu el comportament que s'ha configurat per a la columna de només data. Si la columna està definida com independent del fus horari o hora local de l'usuari, la marca de temps que s'inclou podria fer que la data es mostrés de manera diferent per a usuaris diferents. La configuració de visualització del formulari d'UTC o local determinarà si la data mostrada es calcula mitjançant la configuració del fus horari de l'usuari o si el mostra com a valor UTC. Si canvieu els valors de formulari a UTC en comptes d'hora local de l'usuari, impedirà els càlculs de desplaçament del fus horari i es mostrarà la data UTC de la fila desada. Alternativament, si necessiteu que sigui una data estàtica que no canviï i la columna és actualment Hora local de l'usuari, podeu canviar el comportament de les columnes per a Només data. Cal anar amb compte, però, perquè això no es pot desfer.
El meu script/complement hauria d'interceptar la data enviada mitjançant el client universal abans que es produeixi la conversió a l'hora local de l'usuari, però en el seu lloc es tracta com a dades d'hora local de l'usuari
El client web i el client universal tenen comportaments lleugerament diferents pel que fa a quan es converteixen les dades entre UTC i l'hora local de l'usuari. Al client web, les dates s'introdueixen al client, passen a l'API tal com es proporcionen i es converteixen més endavant en l'hora local de l'usuari. Això permet que els scripts/complements recuperin les dades i actuïn abans de passar les dades als serveis de la plataforma i que es converteixin a l'hora local de l'usuari. Al client universal, la conversió d'una data als valors d'hora local de l'usuari té lloc abans que les dades es passin a l'API; per aquest motiu, les dades proporcionades no seran una data UTC, sinó més aviat una data en l'hora local de l'usuari segons l'usuari que l'hagi recuperat o publicat. Per solucionar aquest problema, un usuari pot fer el següent:
- Canviar el formulari a independent de fus horari, que mantindrà el valor UTC. Això només funciona si l'usuari no necessita que el formulari es mostri en l'hora local de l'usuari.
- Modificar el seu script per detectar el desplaçament del fus horari utilitzat, tornar a calcular-lo en UTC dins de l'script i, a continuació, realitzar l'acció.
Operadors de consulta per acamps de data i hora no admesos per al comportament Només data
Els següents operadors de consulta de data i hora no són vàlids per al comportament Només data. Quan un d'aquests operadors es fa servir en una consulta, es llança un error d'excepció d'operador no vàlid.
- Amb més de X minuts d'antiguitat
- Amb més d'X hores d'antiguitat
- Últimes X hores
- Següents X hores
Consulteu també
Crear i editar columnes
Definir les columnes calculades per automatitzar càlculs manuals
Propietats administrades de columna
Propietats administrades
Bloc: Treballar amb fusos horaris al Dataverse