LibreOffice 25.2 Hjelp
Tenesta Region tilbyr ei samling eigenskapar og metodar for å handsama lokale og regionrelaterte aspekt ved programmering, for eksempel:
Få tilgang til lokale og regionavhengige innstillingar som talformatering, valuta og tidssoner.
Konvertera tidssoner og rekna ut forskyvingar av sommartid (DST).
Transformera tal til tekst på alle støtta språk.
Ein streng som kombinerer eit språk og eit land i formatet «sp-LA» (språk-land). Språkdelen vert uttrykt med 2 eller 3 små bokstavar, ein bindestrek og 2 store bokstavar som representerer landet.
For eksempel svarar "de-AT" til det tyske språket brukt i Austerrike og "fr-BE" til det franske språket i Belgia og så vidare.
I nokre situasjonar er ikkje den fullstendige nasjonale innstillinga nødvendig, og berre språket eller landet kan spesifiserast.
Dei fleste eigenskapane og metodane godtar ei nasjonal innstilling som argument. Viss det ikkje er gjeve noko nasjonal innstilling, vert den nasjonale innstillinga for brukargrensesnittet som er definert i eigenskapen OfficeLocale i tenesta Platform brukt.
Ein streng i formatet «Region/By» som «Europa/Berlin», eller ein tidssone-ID som «UTC» eller «GMT-8:00». Du finn ei liste over moglege tidssonenamn og ID-ar på wikisida List of tz database timezones.
Viss du set inn ein ugyldig tidssonestreng i nokre av metodane i tenesta Region, vil dette ikkje resultere i ein køyretidsfeil. I staden vil metodar som UTCDateTime og UTCNow returnera gjeldende dato og klokkeslett brukt av operativsystemet.
Tidsforskyvinga mellom tidssona og Greenwich Meridian Time (GMT) er gjeve i minutt.
Sommartid (DST) er ei ekstra forskyving.
Tidssona og DST-forskyvinga kan vera positive eller negative.
Før du brukar tenesta Region, må biblioteket ScriptForge vera lasta inn eller importert:
Eksempla nedanfor i Basic og Python startar tenesta Region og får tilgang til eigenskapen Country.
    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 eigenskapane som er oppførte nedanfor godtar eit locale-argument, gjeve som ein streng. Nokre av eigenskapane krev at dette argumentet er i formatet "sp-LA" (språk-LAND), medan andre godtek "sp" eller "LA".
| Namn | Skriveverna | Type | Språkversjon | Beskriving | 
|---|---|---|---|---|
| Country | Ja | String | "la‑CO" | Returnerer landsnamnet på engelsk som svarar til ein gjeven region. | 
| Currency | Ja | String | "la-CO" | Returnerer ISO 4217-valutakoden for den gjevne regionen. | 
| DatePatterns | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise med strengar som inneheld datoakseptmønstra for det gjevne området. | 
| DateSeparator | Ja | String | "la-CO" | Returnerer datoskiljeteikn brukte i den gjevne regionen. | 
| DayAbbrevNames | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise av strengar som inneheld lista over forkorta namn på vekedagar på det gjevne språket. | 
| DayNames | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise av strengar som inneheld lista over namna på vekedagar på det gjevne språket. | 
| DayNarrowNames | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise av strengar som inneheld lista over dei første bokstavane i namna på vekedagar på det gjevne språket. | 
| DecimalPoint | Ja | String | "la-CO" | Returnerer desimalskiljeteikn brukte i tal i det gjevne området. | 
| Language | Ja | String | "la-CO" | Returnerer namnet på språket, på engelsk, for den gjevne regionen. | 
| ListSeparator | Ja | String | "la-CO" | Returnerer listeskiljeteikn brukte i den gjevne regionen. | 
| MonthAbbrevNames | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise av strengar som inneheld lista over forkorta namn på månadar på det gjevne språket. | 
| MonthNames | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise av strengar som inneheld lista over namna på månadane på det gjevne språket. | 
| MonthNarrowNames | Ja | Strengmatrise | "la-CO" | Returnerer ei nullbasert matrise av strengar som inneheld lista over dei første bokstavane i namna på månadane på det gjevne språket. | 
| ThousandSeparator | Ja | String | "la-CO" | Returnerer tusenskiljeteikn brukte i tal i det gjevne området. | 
| TimeSeparator | Ja | String | "la-CO" | Returnerer skiljeteikn som vert brukte til å formatera tider i det gjevne området. | 
| Liste over metodar i tenesta «Region» | ||
|---|---|---|
Reknar ut den ekstra sommartidsforskyvinga (DST) i minutt som gjeld for ein gjeven region og tidssone.
svc.DSTOffset(localdatetime: date, timezone: str, opt locale: str): int
localdatetime: den lokale datoen og klokkeslettet uttrykt som ein dato.
timezone: tidssona som den forskyvinga skal reknast ut for.
locale: språket som spesifiserer landet som den lokale tida skal reknast ut for, gjeve anten i «sp-LA»- eller «LA»-format (språk-LAND). Standardverdien er språket som er definert i eigenskapen OfficeLocale i tenaren Platform.
      ' Reknar ut den offisielt gjeldande tidssona for "America/Los_Angeles"
      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 (minutt)
      aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
      offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minutt)
    
      import datetime
      aDateTime = datetime.datetime(2022, 7, 1, 16, 0, 0)
      offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 60 (minutt)
      aDateTime = datetime.datetime(2022, 1, 1, 16, 0, 0)
      offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minutt)
    Reknar ut lokal dato og klokkeslett frå UTC-dato og -klokkeslett.
svc.LocalDateTime(utcdatetime: date, timezone: str, opt locale: str): date
utcdatetime: UTC-datoen og -klokkeslettet uttrykt ved hjelp av eit datoobjekt.
timezone: tidssona som den lokale tida skal reknast ut for.
locale: språket som spesifiserer landet som den lokale tida skal reknast ut for, gjeve anten i «la-CO»- eller «CO»-format. Standardverdien er språket som er definert i eigenskapen OfficeLocale i tenaren Platform.
      ' 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)
      ' Reknar ut 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 tal og pengeverdiar til skrive tekst for alle språka som for tida er støtta.
Du finn ei liste over alle språka som er støtta i XNumberText Interface API reference.
svc.Number2Text(number: any, opt locale: str): str
number: talet som skal konverterast til skrive tekst. Det kan leverast anten som ein numerisk type eller som ein streng. Når det er brukt ein streng, kan han innleiast med eit prefiks som informerer om korleis tala skal skrivast. Det er også mogleg å ta med ISO 4217 valutakoder. Sjå eksempla nedanfor for meir informasjon.
locale: Koden som definerer språket som talet skal konverterast til, gjeve anten i «la-CO» eller «la» format. Standardverdien er språket som er definert i eigenskapen OfficeLocale til tenesta Platform.
      ' Returnerer "eitt hundre og fem"
      Dim numText As String
      numText = oRegion.Number2Text(105, "nn-NO")
      ' Returnerer: "to komma fire to"
      numText = oRegion.Number2Text(2.42, "nn-NO")
      ' Returnerer: "tjuefem euro og ti cent" Legg merkje til valutasymbolet "EUR".
      numText = oRegion.Number2Text("EUR 25.10", "nn-NO")
      ' Returnerer: "femtende"; Legg merke til det prefikset "ordinal"
      numText = oRegion.Number2Text("ordinal 15", "nn-NO")
    
      numText = oRegion.Number2Text(105, "nn-NO")
      numText = oRegion.Number2Text(2.42, "nn-NO")
      numText = oRegion.Number2Text("EUR 25.10", "nn-NO")
      numText = oRegion.Number2Text("ordinal 15", "nn-NO")
    Viss du ønskjer ei liste over alle støtta prefiks på eit gjeve språk, kall opp Number2Text med det spesielle "hjelp"-argumentet. I eksempelet nedanfor går ein ut frå at lokaliteten er sett til "en-US". Lista over tilgjengelege prefiks for "en-US" vert vist 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 linja i meldingsboksen er utan prefiks, noko som betyr at innhaldet er i standardformatet. Linjene nedanfor inneheld prefikset og nokre eksempel på tal som brukar formatet.
Kvart språk har sitt eige sett med støtta prefiks. Talet på tilgjengelege prefiks kan variera frå språk til språk.
For å få lista over prefiks for eit spesifikt språk eller ein lokalitet, kan det spesifiserast som det andre argumentet i Number2Text. Eksempelet nedanfor viser dei prefiksa som er tilgjengelege for lokaliteten "pt-BR":
      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 forskyvinga mellom GMT og den gjevne tidssona og lokaliteten i minutt.
svc.TimeZoneOffset(timezone: str, opt locale: str): int
timezone: tidssona som forskyvinga i høve til GMT skal reknast ut for.
locale: lokaliteten som spesifiserer landet som forskyvinga skal reknast ut for, gjeve anten i formata "la-CO" eller "CO". Standardverdien er lokaliteten som er definert i eigenskapen OfficeLocale i tenesta Platform.
      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 -klokkeslettet ut frå ein gjeven lokal dato og eit gjeve klokkeslett i ei tidssone.
svc.UTCDateTime(localdatetime: date, timezone: str, opt locale: str): date
localdatetime: den lokale datoen og klokkeslettet i ei bestemt tidssone uttrykt som ein dato.
timezone: tidssona som argumentet localdatetime vart gjeven for.
locale: lokaliteten som spesifiserer landet som argumentet localdatetime er gjeve for, uttrykt anten i formatet "sp-LA" eller "LA" (språk-LAND). Standardverdien er lokaliteten som er definert i eigenskapen OfficeLocale i tenesta Platform.
      ' 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/klokkeslett 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 gjeldande UTC-dato og -klokkeslett når det er gjeve ei tidssone og ein lokalitet.
Denne metoden brukar gjeldande dato og klokkeslett i operativsystemet for å rekna UTC-tida.
svc.UTCNow(timezone: str, opt locale: str): date
timezone: tidssona som den gjeldande UTC-tida skal reknast ut for.
locale: lokaliteten som spesifiserer landet som den gjeldande UTC-tida skal reknast ut for, gjeve anten i formata "sp-LA" eller "LA" (språk-LAND). Standardverdien er lokaliteten som er definert i eigenskapen OfficeLocale i tenesta Platform.
      ' Går ut frå at klokka i operativsystemet er 23. juni 2022 kl. 10:42:00
      ' Viss datamaskinen er i Europa/Berlin, er UTC-tida 23. juni 2022 kl. 08:42:00
      Dim utcTime As Date
      utcTime = oRegion.UTCNow("Europe/Berlin", "DE")
    
      utcTime = oRegion.UTCNow("Europe/Berlin", "DE")