LibreOffice 24.8 Hjelp
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.
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.
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.
Før du bruker Region-tjenesten, må ScriptForge-biblioteket lastes eller importeres:
Eksemplene nedenfor i Basic og Python instansierer Region-tjenesten og får tilgang til egenskapen Land.
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oRegion As Variant
    oRegion = CreateScriptService("Region")
    MsgBox oRegion.Country("en-US") ' USA
  
    from scriptforge import CreateScriptService
    oRregion = CreateScriptService("Region")
    bas = CreateScriptService("Basic")
    bas.MsgBox(oRegion.Country("en-US"))
  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" | Returnerer landsnavnet på engelsk som tilsvarer en gitt region. | 
| Currency | Ja | String | "la-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" | Returnerer en nullbasert rekke av strenger som inneholder listen over forkortede ukedagnavn på det angitte språket. | 
| DayNames | Ja | Strengematrise | "la-CO" | Returnerer en nullbasert matrise med strenger som inneholder listen over ukedagnavn på det angitte språket. | 
| DayNarrowNames | Ja | Strengematrise | "la-CO" | 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" | 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" | Returnerer en nullbasert rekke av strenger som inneholder listen over forkortede månedsnavn på det angitte språket. | 
| MonthNames | Ja | Strengematrise | "la-CO" | Returnerer en nullbasert rekke strenger som inneholder listen over månedsnavn på det angitte språket. | 
| MonthNarrowNames | Ja | Strengematrise | "la-CO" | 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 | ||
|---|---|---|
Beregner den ekstra sommertidsforskyvningen (DST) i minutter som gjelder for en gitt region og tidssone.
svc.DSTOffset(localdatetime: date, timezone: str, opt locale: str): int
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.
      ' 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)
    
      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)
    Beregner lokal dato og klokkeslett fra en UTC-dato og -klokkeslett.
svc.LocalDateTime(utcdatetime: date, timezone: str, opt locale: str): date
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.
      ' 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")
    
      import datetime
      utcTime = datetime.datetime(2022, 6, 23, 10, 30, 45)
      localTime = oRegion.LocalDateTime(utcTime, "America/Sao_Paulo", "BR")
    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.
svc.Number2Text(number: any, opt locale: str): str
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.
      ' 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")
    
      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.º
    Returnerer forskyvningen mellom GMT og gitt tidssone og lokalitet, i minutter.
svc.TimeZoneOffset(timezone: str, opt locale: str): int
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.
      Dim offset As Integer
      offset = oRegion.TimeZoneOffset("America/New_York", "US") ' -300
      offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") ' 60
    
      offset = oRegion.TimeZoneOffset("America/New_York", "US") # -300
      offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") # 60
    Returnerer UTC-datoen og -tiden med tanke på en gitt lokal dato og tid i en tidssone.
svc.UTCDateTime(localdatetime: date, timezone: str, opt locale: str): date
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.
      ' 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")
    
      import datetime
      localDT = datetime.datetime(2022, 6, 23, 14, 30, 0)
      utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")
    Returnerer gjeldende UTC-dato og -klokkeslett, gitt en tidssone og lokalitet.
Denne metoden bruker gjeldende dato og klokkeslett for operativsystemet for å beregne UTC-tiden.
svc.UTCNow(timezone: str, opt locale: str): date
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.
      ' 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")
    
      utcTime = oRegion.UTCNow("Europa/Berlin", "DE")