Innhold

# ScriptForge.Region-tjeneste

Tjenesten Region gir en samling egenskaper og metoder for å håndtere lokale og regionrelaterte aspekter ved programmering, for eksempel:

- Få tilgang til lokale og regionavhengige innstillinger som tallformatering, valuta og tidssoner.

- Konvertere tidssoner og beregne sommertid (DST) forskyvninger.

- Transformere tall til tekst på alle støttede språk.

## Definisjoner

### Språk eller region

En streng som kombinerer et språk og et land i formatet "la-CO". Språkdelen uttrykkes med 2 eller 3 små bokstaver etterfulgt av en bindestrek og 2 store bokstaver som representerer landet.

For eksempel tilsvarer "en-US" det engelske språket i USA; "fr-BE" tilsvarer det franske språket i Belgia, og så videre.

I noen situasjoner kreves ikke full lokalitet, og kun språket eller landet kan spesifiseres.

De fleste egenskaper og metoder godtar en lokalitet som argument. Hvis ingen lokalitet er spesifisert, brukes lokaliteten for brukergrensesnittet, som er definert i OfficeLocale egenskapen til Plattform-tjenesten.

### Tidssone

En streng i formatet «Region/City» som «Europe/Berlin», eller en tidssone-ID som «UTC» eller «GMT-8:00». Se wikisiden Liste over tidssoner for tz-databaser for en liste over mulige tidssonenavn og ID-er.

Å gi en ugyldig tidssonestreng til noen av metodene i Region-tjenesten vil ikke resultere i en kjøretidsfeil. I stedet vil metoder som UTCDateTime og UTCNow returnere gjeldende operativsystemdato og -klokkeslett.

Tidsforskyvningen mellom tidssonen og Greenwich Meridian Time (GMT) er uttrykt i minutter.

Sommertid (DST) er en ekstra forskyvning.

Tidssonen og DST-forskyvningene kan være positive eller negative.

## Tjenestepåkallelse

Før du bruker Region-tjenesten, må ScriptForge-biblioteket lastes eller importeres:

• Grunnleggende makroer krever å laste ScriptForge-biblioteket ved hjelp av følgende setning:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-skript krever import fra scriptforge-modulen:
fra scriptforge import CreateScriptService

Eksemplene nedenfor i Basic og Python instansierer Region-tjenesten og får tilgang til egenskapen Land.

##### I Basic

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Dim oRegion As Variant
        oRegion = CreateScriptService("Region")
        MsgBox oRegion.Country("en-US") ' USA

##### I Python

        from scriptforge import CreateScriptService
        oRregion = CreateScriptService("Region")
        bas = CreateScriptService("Basic")
        bas.MsgBox(oRegion.Country("en-US"))

## Egenskaper

Alle egenskapene som er oppført nedenfor godtar et locale argument, gitt som en streng. Noen egenskaper krever at dette argumentet er i formatet "la-CO", mens andre kan motta "la" eller "CO" som input.

Navn | Skrivebeskyttet | Type | Språk | Beskrivelse
--- | --- | --- | --- | ---
Country | Ja | String | "la‑CO" "CO" | Returnerer landsnavnet på engelsk som tilsvarer en gitt region.
Currency | Ja | String | "la-CO" "CO" | Returnerer ISO 4217-valutakoden for den angitte regionen.
DatePatterns | Ja | Strengematrise | "la-CO" | Returnerer en nullbasert matrise med strenger som inneholder datoakseptmønstrene for det angitte området.
DateSeparator | Ja | String | "la-CO" | Returnerer datoskilletegn brukt i den gitte regionen.
DayAbbrevNames | Ja | Strengematrise | "la-CO" "la" | Returnerer en nullbasert rekke av strenger som inneholder listen over forkortede ukedagnavn på det angitte språket.
DayNames | Ja | Strengematrise | "la-CO" "la" | Returnerer en nullbasert matrise med strenger som inneholder listen over ukedagnavn på det angitte språket.
DayNarrowNames | Ja | Strengematrise | "la-CO" "la" | Returnerer en nullbasert rekke strenger som inneholder listen over initialene til ukedagsnavn på det angitte språket.
DecimalPoint | Ja | String | "la-CO" | Returnerer desimalskilletegn brukt i tall i det angitte området.
Language | Ja | String | "la-CO" "la" | Returnerer navnet på språket, på engelsk, for den angitte regionen.
ListSeparator | Ja | String | "la-CO" | Returnerer listeskilletegn brukt i det angitte området.
MonthAbbrevNames | Ja | Strengematrise | "la-CO" "la" | Returnerer en nullbasert rekke av strenger som inneholder listen over forkortede månedsnavn på det angitte språket.
MonthNames | Ja | Strengematrise | "la-CO" "la" | Returnerer en nullbasert rekke strenger som inneholder listen over månedsnavn på det angitte språket.
MonthNarrowNames | Ja | Strengematrise | "la-CO" "la" | Returnerer en nullbasert rekke strenger som inneholder listen over initialene til månedsnavn på det angitte språket.
ThousandSeparator | Ja | String | "la-CO" | Returnerer tusenskilletegn brukt i tall i det angitte området.
TimeSeparator | Ja | String | "la-CO" | Returnerer skilletegn som brukes til å formatere tider i det angitte området.

Liste over metoder i regiontjenesten
DSTOffset LocalDateTime | Number2Text TimeZoneOffset | UTCDateTime UTCNow

## DSTOffset

Beregner den ekstra sommertidsforskyvningen (DST) i minutter som gjelder for en gitt region og tidssone.

### Syntaks:

svc.DSTOffset(localdatetime: date, timezone: str, opt locale: str): int

### Parametre:

localdatetime: den lokale datoen og klokkeslettet uttrykt som en dato.

tidssone: tidssonen som forskyvningen skal beregnes for.

locale: språket som spesifiserer landet som forskyvningen skal beregnes for, gitt enten i "la-CO" eller "CO" formater. Standardverdien er språket som er definert i OfficeLocale-egenskapen tilPlattform tjenesten.

### Eksempel:

##### I Basic

          ' Beregner offset gjeldende i "America/Los_Angeles" tidssone
          Dim aDateTime As Date, offset As Integer
          aDateTime = DateSerial(2022, 7, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 60 (minutter)
          aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minutter)

##### I Python

          import datetime
          aDateTime = datetime.datetime(2022, 7, 1, 16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 60 (minutter)
          aDateTime = datetime.datetime(2022, 1, 1, 16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minutter)

## LocalDateTime

Beregner lokal dato og klokkeslett fra en UTC-dato og -klokkeslett.

### Syntaks:

svc.LocalDateTime(utcdatetime: date, timezone: str, opt locale: str): date

### Parametre:

utcdatetime: UTC-datoen og -klokkeslettet, uttrykt ved hjelp av et datoobjekt.

tidssone: tidssonen som den lokale tiden skal beregnes for.

locale: språket som angisr landet som den lokale tiden skal beregnes for, gitt enten i "la-CO"- eller "CO"-formater. Standardverdien er språket som er definert i OfficeLocale-egenskapen til egenskapen Plattform tjeneste.

### Eksempel:

##### I Basic

          ' 6. juni 2022 kl. 10:30:45 (brukt her som UTC-tid)
          Dim UTCTime As Date, localTime As Date
          UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
          ' Beregner lokal tid i Sao Paulo, Brasil
          6. juni 2022 kl. 07:30:45
          localTime = oRegion.LocalDateTime(UTCTime, "America/Sao_Paulo", "BR")

##### I Python

          import datetime
          utcTime = datetime.datetime(2022, 6, 23, 10, 30, 45)
          localTime = oRegion.LocalDateTime(utcTime, "America/Sao_Paulo", "BR")

## Number2Text

Konverterer tall og pengeverdier til skrevet tekst for alle språkene som støttes for øyeblikket.

For en liste over alle støttede språk, besøk XNumberText Interface API-referansen.

### Syntaks:

svc.Number2Text(number: any, opt locale: str): str

### Parametre:

nummer: tallet som skal konverteres til skrevet tekst. Den kan leveres enten som en numerisk type eller som en streng. Når en streng er angitt, kan den innledes med et prefiks som informerer om hvordan tallene skal skrives. Det er også mulig å inkludere ISO 4217 valutakoder. Se eksempler nedenfor for mer informasjon.

locale: Koden som definerer språket som nummeret skal konverteres til, gitt enten i "la-CO" eller "la" formater. Standardverdien er lokaliteten som er definert i OfficeLocale-egenskapen til Plattform tjenesten.

### Eksempel:

##### I Basic

          ' Returnerer "ett hundre og fem"
          Dim numText As String
          numText = oRegion.Number2Text(105, "en-US")
          ' Returnerer: "to komma fire to"
          numText = oRegion.Number2Text(2.42, "en-US")
          ' Returnerer: "tjuefem euro og ti cent" Legg merke til valutasymbolet "EUR".
          numText = oRegion.Number2Text("EUR 25.10", "en-US")
          ' Returnerer: "femtende"; Legg merke til det "ordinære" prefikset
          numText = oRegion.Number2Text("ordinal 15", "en-US")

##### I Python

          numText = oRegion.Number2Text(105, "en-US")
          numText = oRegion.Number2Text(2.42, "en-US")
          numText = oRegion.Number2Text("EUR 25.10", "en-US")
          numText = oRegion.Number2Text("ordinal 15", "en-US")

For å få en liste over alle støttede prefikser på et gitt språk, ring Number2Text med det spesielle "hjelp"-argumentet. I eksemplet nedenfor, anta at lokaliteten din er satt til "en-US", så vil listen over tilgjengelige prefikser for "en-US" vises i MsgBox:

          prefixes = oRegion.Number2Text("help")
          MsgBox prefixes
          ' one, two, three
          ' ordinal: first, second, third
          ' ordinal-number: 1st, 2nd, 3rd
          ' year: nineteen ninety-nine, two thousand, two thousand one
          ' currency (for example, USD): two U.S. dollars and fifty cents
          ' money USD: two and 50/100 U.S. dollars

Den første linjen i meldingsboksen har ikke prefiks, noe som betyr at det er standardformatet. De påfølgende linjene inkluderer prefikset og noen eksempler på tall som bruker formatet.

Hvert språk har sitt eget sett med støttede prefikser. Antall tilgjengelige prefikser kan variere fra språk til språk.

For å få listen over prefikser for et spesifikt språk eller lokalitet, kan det spesifiseres som det andre argumentet i Number2Text. Eksemplet nedenfor viser de tilgjengelige prefiksene som er tilgjengelige for "pt-BR"-lokaliteten:

          prefixes = oRegion.Number2Text("help", "pt-BR")
          MsgBox prefixes
          ' um, dois, três
          ' feminine: uma, duas, três
          ' masculine: um, dois, três
          ' ordinal-feminine: primeira, segunda, terceira
          ' ordinal-masculine: primeiro, segundo, terceiro
          ' ordinal-number-feminine: 1.ª, 2.ª, 3.ª
          ' ordinal-number-masculine: 1.º, 2.º, 3.º

## TimeZoneOffset

Returnerer forskyvningen mellom GMT og gitt tidssone og lokalitet, i minutter.

### Syntaks:

svc.TimeZoneOffset(timezone: str, opt locale: str): int

### Parametre:

tidssone: tidssonen som forskyvningen til GMT vil bli beregnet for.

locale: lokaliteten som spesifiserer landet som forskyvningen skal beregnes for, gitt enten i "la-CO" eller "CO" formater. Standardverdien er lokaliteten som er definert i OfficeLocale-egenskapen til Plattform tjenesten.

### Eksempel:

##### I Basic

          Dim offset As Integer
          offset = oRegion.TimeZoneOffset("America/New_York", "US") ' -300
          offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") ' 60

##### I Python

          offset = oRegion.TimeZoneOffset("America/New_York", "US") # -300
          offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") # 60

## UTCDateTime

Returnerer UTC-datoen og -tiden med tanke på en gitt lokal dato og tid i en tidssone.

### Syntaks:

svc.UTCDateTime(localdatetime: date, timezone: str, opt locale: str): date

### Parametre:

localdatetime: den lokale datoen og klokkeslettet i en bestemt tidssone uttrykt som en dato.

tidssone: tidssonen som argumentet localdatetime ble gitt for.

locale: lokaliteten som spesifiserer landet som argumentet localdatetime ble gitt for, uttrykt enten i "la-CO"- eller "CO"-formater. Standardverdien er lokaliteten som er definert i OfficeLocale-egenskapen til egenskapen Plattform tjenesten.

### Eksempel:

##### I Basic

          ' Dato/klokkeslett i Berlin, 23. juni 2022 kl. 14:30:00
          Dim localDT As Date, utcTime As Date
          localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
          ' UTC dato/tid er 23. juni 2022 kl. 12:30:00
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

##### I Python

          import datetime
          localDT = datetime.datetime(2022, 6, 23, 14, 30, 0)
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

## UTCNow

Returnerer gjeldende UTC-dato og -klokkeslett, gitt en tidssone og lokalitet.

Denne metoden bruker gjeldende dato og klokkeslett for operativsystemet for å beregne UTC-tiden.

### Syntaks:

svc.UTCNow(timezone: str, opt locale: str): date

### Parametre:

tidssone: tidssonen som gjeldende UTC-tid vil bli beregnet for.

locale: lokaliteten som spesifiserer landet som gjeldende UTC-tid skal beregnes for, gitt enten i "la-CO"- eller "CO"-formater. Standardverdien er lokaliteten som er definert i OfficeLocale-egenskapen til egenskapen Plattform tjenesten.

### Eksempel:

##### I Basic

          ' Anta at operativsystemet er 23. juni 2022 kl. 10:42:00
          ' Hvis datamaskinen er i Europa/Berlin, er UTC-tiden 23. juni 2022 kl. 08:42:00
          Dim utcTime As Date
          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

##### I Python

          utcTime = oRegion.UTCNow("Europa/Berlin", "DE")

Lignende emner

ScriptForge.Plattform-tjeneste