Del via


CHANGETIMEZONE ER-funksjon

CHANGETIMEZONE-funksjonen returnerer en DateTime-verdi i Coordinated Universal Time (Greenwich Mean Time [GMT]) som konverteres fra en gitt dato/klokkeslett-verdi i én tidssone til en dato/klokkeslett-verdi i en annen tidssone.

Syntaks

CHANGETIMEZONE (datetime, base time zone, target time zone)

Argumenter

datetime: DateTime

En dato-/klokkeslettverdi i tidssonen Coordinated Universal Time som representerer dato-/klokkeslettverdien som skal konverteres.

base time zone: Streng

Navnet på tidssonen som en angitt dato-/klokkeslettverdi flyttes til før konvertering.

target time zone: Streng

Navnet på tidssonen som en konvertert dato-/klokkeslettverdi flyttes til under konvertering.

Returverdier

dato/klokkeslett

Resultatverdien for dato/klokkeslett i tidssonen Coordinated Universal Time.

Bruksnotater

Hvis du vil angi tidssoner for kilde og mål, kan du bruke tidssonenavn som leveres av IANA (Internet Assigned Numbers Authority) eller som støttes av Microsoft Windows.

Ved kjøretid, hvis unntaket Tidssone <tidssonenavn> finnes ikke vises hvis det angitte navnet ikke finnes i IANA-listen eller i Windows-registeret.

For tidssoner med justering for sommertid tar konverteringen høyde for sommertidens tidsforskyvning for Coordinated Universal Time. Den nyeste tilgjengelige informasjonen om denne forskyvningen brukes under konvertering.

Eksempel 1

I dette eksemplet brukes tidssonenavnene for Windows.

Du konfigurerer DSX-datakilden for Beregnet felt-typen. Det inneholder følgende uttrykk.

CONCATENATE(
    DATETIMEFORMAT( DSY, "O"), 
    " -> ", 
    DATETIMEFORMAT( CHANGETIMEZONE(DSY, "E. Europe Standard Time", "Hawaiian Standard Time"), "O")
)

Hvis du konfigurerer uttrykket til DSY-datakilden for Beregnet felt-typen som DATETIMEVALUE ("01-Jun-2021 12:55:00", "dd-MMM-yyyy HH:mm:ss", "EN"), returnerer datakilden DSX teksten 2021-06-01T12:55:00.0000000+00:00 -> 2021-05-31T23:55:00.0000000+00:00. Denne teksten viser at tidsforskjellen mellom de to angitte tidssonene 1. juni er mer enn 24 timer. Derfor er den konverterte dato-/klokkeslettverdien én dag tidligere enn den angitte dato-/klokkeslettverdien, fordi basistidssonen ligger foran måltidssonen.

Hvis du konfigurerer uttrykket til DSY-datakilden for typen Beregnet felt som DATETIMEVALUE ("01-Dec-2021 12:55:00", "dd-MMM-yyyy HH:mm:ss", "EN"), returnerer datakilden DSX teksten 2021-12-01T12:55:00.0000000+00:00 -> 2021-12-01T00:55:00.0000000+00:00. Denne teksten viser at tidsforskjellen mellom de to angitte tidssonene 1. desember er mindre enn 24 timer. Derfor vil den konverterte dato-/klokkeslettverdien være lik den angitte dato-/klokkeslettverdien.

Notat

Det samme uttrykket returnerer et annet avvik mellom de angitte og konverterte dato-/klokkeslettverdiene for samme tidssonepar, fordi det er observert en annen tidsforskyvning for sommertid for Coordinated Universal Time for angitte tidssonene på en angitt dato/klokkeslett.

Eksempel 2

I dette eksemplet brukes IANA-tidssonenavnene.

Du konfigurerer DSX-datakilden for Beregnet felt-typen. Det inneholder følgende uttrykk.

CONCATENATE(
    DATETIMEFORMAT( DSY, "O"), 
    " -> ", 
    DATETIMEFORMAT( CHANGETIMEZONE(DSY, "Europe/Athens", "US/Hawaii"), "O")
)

Hvis du konfigurerer uttrykket til DSY-datakilden for Beregnet felt-typen som DATETIMEVALUE ("01-Jun-2021 12:55:00", "dd-MMM-yyyy HH:mm:ss", "EN"), returnerer datakilden DSX teksten 2021-06-01T12:55:00.0000000+00:00 -> 2021-05-31T23:55:00.0000000+00:00. Denne teksten viser at tidsforskjellen mellom de to angitte tidssonene 1. juni er mer enn 24 timer. Derfor er den konverterte dato-/klokkeslettverdien én dag tidligere enn den angitte dato-/klokkeslettverdien, fordi basistidssonen ligger foran måltidssonen.

Hvis du konfigurerer uttrykket til DSY-datakilden for typen Beregnet felt som DATETIMEVALUE ("01-Dec-2021 12:55:00", "dd-MMM-yyyy HH:mm:ss", "EN"), returnerer datakilden DSX teksten 2021-12-01T12:55:00.0000000+00:00 -> 2021-12-01T00:55:00.0000000+00:00. Denne teksten viser at tidsforskjellen mellom de to angitte tidssonene 1. desember er mindre enn 24 timer. Derfor vil den konverterte dato-/klokkeslettverdien være lik den angitte dato-/klokkeslettverdien.

Eksempel 3

Du konfigurerer DSX-datakilden for Beregnet felt-typen. Det inneholder følgende uttrykk.

CONCATENATE(
    DATETIMEFORMAT( DSY, "O"), 
    " -> ", 
    DATETIMEFORMAT( CHANGETIMEZONE(DSY, "US/Hawaii", "Europe/Athens"), "O")
)

Hvis du konfigurerer uttrykket til DSY-datakilden for Beregnet felt som DATETIMEVALUE ("01-Jun-2021 12:55:00", "dd-MMM-yyyy HH:mm:ss", "EN"), returnerer datakilden DSX teksten 2021-06-01T12:55:00.0000000+00:00 -> 2021-06-02T01:55:00.0000000+00:00'. Denne teksten viser at tidsforskjellen mellom de to angitte tidssonene 1. juni er mer enn 24 timer. Derfor er den konverterte dato-/klokkeslettverdien én dag senere enn den angitte dato-/klokkeslettverdien, fordi måltidssonen ligger foran basistidssonen.

Eksempel 4

Du kan motta en dato-/tidsangivelse fra en ekstern kilde som tekst som ikke inneholder noen tidssoneinformasjon. Du vet imidlertid kanskje tidssonen som kilden opererer i. Du mottar for eksempel dato-/tidsangivelse 01/12/2021 12:55:00 fra en tjeneste som drives i Spania. Hvis du vil lagre denne dato-/klokkeslettverdien riktig i databasen, fullfører du følgende konvertering:

  • Konfigurer DSY-datakilden for Beregnet felt-typen for å konvertere et dato-/tidsangivelse fra tekst til verdien dato-/klokkeslett-verdien Coordinated Universal Time.

    DATETIMEVALUE ("01/12/2021 12:55:00", "dd/MM/yyyy HH:mm:ss", "ES")

  • Konfigurer DSX-datakilden for typen Beregnet felt for å forskyve den konverterte dato-/klokkeslettverdien til Coordinated Universal Time som dato-/klokkeslettverdien for tidssonen til den eksterne kilden.

    CHANGETIMEZONE(DSY, "Romance Standard Time", "GMT Standard Time")

Notat

Når du bruker CHANGETIMEZONE-funksjonen for dato-/klokkeslettkonvertering, må du være oppmerksom på at alle dato-/klokkeslettverdier lagres i databasen som verdien i Coordinated Universal Time-tidssonen. Før denne verdien kan presenteres på applikasjonssider, er den transformert. Transformasjonen vurderer tidssonen som er angitt som en foretrukket sone for den påloggede programbrukeren.

Tilleggsressurser

Dato- og klokkeslettfunksjoner