Vsebina

# Storitev ScriptForge.Region

Storitev Region ponuja zbirko lastnosti in metod za ravnanje s področnimi in krajevnimi elementi programiranja, kot so:

- Dostop do krajevno in področno odvisnih nastavitev, kot so oblikovanje števil, valute in časovni pasovi.

- Pretvorba časovnih pasov in računanje zamikov zimskega časa.

- Preoblikovanje števil v besedilo v vseh podprtih jezikih.

## Definicije

### Področna oz. krajevna nastavitev

Niz, ki združuje jezik in državo v zapisu »je-DR«. Jezikovni del je zapisan z dvema ali tremi malimi črkami, čemur sledi vezaj ter dve veliki črki, ki predstavljata državo.

Primer: »en-US« predstavlja angleški jezik v ZDA; »fr-BE« predstavlja francoščino v Belgiji itn.

V nekaterih primerih ni potreben poln zapis področne nastavitve in navedete lahko le jezik ali državo.

Večina lastnosti in metod sprejema področno nastavitev kot argument. Če ni navedena nobena področna nastavitev, se uporabi področna nastavitev uporabniškega vmesnika, katero določa lastnost OfficeLocale storitve Platform.

### Časovnica

Niz v zapisu »celina/kraj« v angleškem jeziku, kot je »Europe/Berlin«, ali ID časovnega pasu, kot je »UTC« ali »GMT-8:00«. Glejte wiki-stran seznama zbirke podatkov časovnih pasov (v angl.), kjer najdete seznam možnih imen časovnih pasov in njihovi identifikatorjev.

Če je podan neveljaven niz časovnega pasu poljubni metodi storitve Region, ne bo povzročil napake med izvajanjem. Namesto tega metode, kot sta UTCDateTime in UTCNow, vrnejo trenutni datum in čas operacijskega sistema.

Časovni zamik med časovnim pasom in greenwiškim srednjim časom je izražen v minutah.

Zimski čas predstavlja dodatni zamik.

Časovni pas in zamik zimskega časa je lahko pozitiven ali negativen.

## Priklic storitve

Pred uporabo storitve Region je potrebno naložiti ali uvoziti knjižnico ScriptForge:

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

Spodnja primera v Basicu in Pythonu zaženeta storitev Region in dostopata do lastnosti Country.

##### V Basicu

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Dim oRegion As Variant
        oRegion = CreateScriptService("Region")
        MsgBox oRegion.Country("sl-SI") ' Slovenia (angl. Slovenija)

##### V Pythonu

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

## Lastnosti

Vse spodaj navedene lastnosti sprejmejo argument locale, podan kot niz. Nekatere lastnosti zahtevajo ta argument v obliki »je-DR«, medtem ko ga druge lahko prejmejo kot vnos »je« ali »DR«.

Ime | Samo za branje | Vrsta | Področna nastavitev | Opis
--- | --- | --- | --- | ---
Country | Da | String | "la‑CO" "CO" | Vrne angleško ime države, ki ustreza dani regiji oz. področju.
Currency | Da | String | "la-CO" "CO" | Vrne kodo ISO 4217 valute v dani regiji oz. področju.
DatePatterns | Da | Polje nizov | "la-CO" | Vrne ničelno polje nizov, ki vsebuje vzorce sprejemljivih zapisov datuma v dani regiji oz. področju.
DateSeparator | Da | String | "la-CO" | Vrne datumsko ločilo, ki se uporablja v dani regiji oz. področju.
DayAbbrevNames | Da | Polje nizov | "la-CO" "la" | Vrne ničelno polje nizov, ki vsebuje seznam okrajšanih imen dni v tednu v danem jeziku.
DayNames | Da | Polje nizov | "la-CO" "la" | Vrne ničelno polje nizov, ki vsebuje seznam imen dni v tednu v danem jeziku.
DayNarrowNames | Da | Polje nizov | "la-CO" "la" | Vrne ničelno polje nizov, ki vsebuje seznam začetnic imen dni v tednu v danem jeziku.
DecimalPoint | Da | String | "la-CO" | Vrne ločilo decimalk, ki se uporablja za števila v dani regiji oz. področju.
Language | Da | String | "la-CO" "la" | Vrne angleško ime jezika v dani regiji oz. področju.
ListSeparator | Da | String | "la-CO" | Vrne seznamsko ločilo, ki se uporablja v dani regiji oz. področju.
MonthAbbrevNames | Da | Polje nizov | "la-CO" "la" | Vrne ničelno polje nizov, ki vsebuje seznam okrajšanih imen mesecev v danem jeziku.
MonthNames | Da | Polje nizov | "la-CO" "la" | Vrne ničelno polje nizov, ki vsebuje seznam imen mesecev v danem jeziku.
MonthNarrowNames | Da | Polje nizov | "la-CO" "la" | Vrne ničelno polje nizov, ki vsebuje seznam začetnic imen mesecev v danem jeziku.
ThousandSeparator | Da | String | "la-CO" | Vrne ločilo tisočic, uporabljeno za števila na navedenem področju oz. regiji.
TimeSeparator | Da | String | "la-CO" | Vrne ločilo, ki se uporablja za časovni zapis v dani regiji oz. področju.

Seznam metod storitve Region
DSTOffset LocalDateTime | Number2Text TimeZoneOffset | UTCDateTime UTCNow

## DSTOffset

Izračuna dodatni zamik zimskega časa v minutah, ki velja za dano regijo oz. področje in časovni pas.

### Skladnja:

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

### Parametri:

localdatetime: krajevni datum in čas, podan kot datum.

timezone (časovni pas): časovni pas, za katerega se izračuna odmik.

locale: področna nastavitev, ki določa državo, za katero bo izračunan zamik, podana v obliki »je-DR« ali »DR«. Privzeta vrednost je področna nastavitev, določena z lastnostjo OfficeLocale storitve Platform.

### Primer:

##### V Basicu

          ' Izračuna odmik, ki velja za časovni pas »Amerika/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 (minut)
          aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minut)

##### V Pythonu

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

## LocalDateTime

Izračuna krajevni datum in čas glede na datum in čas v zapisu UTC.

### Skladnja:

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

### Parametri:

utcdatetime: datum in čas UTC, izražen kot datumski predmet.

timezone (časovni pas): časovni pas, za katerega bo izračunan krajevni čas.

locale: področna nastavitev, ki določa državo, za katero bo izračunan krajevni čas, podana v obliki »je-DR« ali »DR«. Privzeta vrednost je področna nastavitev, določena z lastnostjo OfficeLocale storitve Platform.

### Primer:

##### V Basicu

          ' 6. junij 2022 ob 10:30:45 (tukaj uporabljeno kot čas UTC)
          Dim UTCTime As Date, localTime As Date
          UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
          ' Izračuna krajevni čas v Sao Paulu v Braziliji
          ' 6. junij 2022 ob 07:30:45
          localTime = oRegion.LocalDateTime(UTCTime, "America/Sao_Paulo", "BR")

##### V Pythonu

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

## Number2Text

Pretvori števila in denarne vrednosti v zapisano besedilo v poljubnem izmed trenutno podprtih jezikov.

Seznam vseh podprtih jezikov najdete na strani referenčnega vodnika API o vmesniku XNumberText (v angl. jeziku).

### Skladnja:

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

### Parametri:

number: število, ki bo pretvorjeno v besedilo. Podano je lahko kot številski zapis ali kot niz. Če je podano kot niz, ga lahko predhaja predpona, ki določa, kako naj bodo zapisana števila. Vključite lahko tudi valutne kode ISO 4217. Podrobnosti si oglejte v spodnjih primerih.

locale: področna nastavitev, ki določa jezik, v katerega bo pretvorjeno število, podana v obliki »je-DR« ali »je«. Privzeta vrednost je področna nastavitev, določena z lastnostjo OfficeLocale storitve Platform.

### Primer:

##### V Basicu

          ' Vrne »sto pet«
          Dim numText As String
          numText = oRegion.Number2Text(105, "sl-SI")
          ' Vrne: »dve vejica dvainštirideset«
          numText = oRegion.Number2Text(2.42, "sl")
          ' Vrne: »petindvajset evrov deset centov«; upošteva valutni simbol »EUR«
          numText = oRegion.Number2Text("EUR 25.10", "sl-SI")
          ' Vrne: »petnajsti«; pozorni bodite na predpono »ordinal«
          numText = oRegion.Number2Text("ordinal 15", "sl-SI")

##### V Pythonu

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

Za seznam vseh podprtih predpon v danem jeziku kličite Number2Text s posebnim argumentom »help«. V spodnjem primeru predvidevamo, da je krajevna nastavitev nastavljena na »en-US«, tako da se seznam razpoložljivih predpon za »en-US« prikaže z 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

Prva vrstica v sporočilnem polju nima predpone, kar pomeni, da je v standardnem zapisu. Naslednje vrstice vključujejo predpono in nekaj primerov števil, ki uporabljajo njen zapis.

Vsak jezik ima svoj nabor podprtih predpon. Število razpoložljivih predpon se med jeziki razlikuje.

Če želite pridobiti seznam predpon za določen jezik ali krajevno nastavitev, ga lahko navedete kot drugi argument za Number2Text. Spodnji primer prikazuje predpone, ki so na voljo za krajevno nastavitev »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.º

## TimeZoneOffset

Vrne časovni zamik med GMT in danim časovni pasom ter področno nastavitvijo v minutah.

### Skladnja:

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

### Parametri:

timezone (časovni pas): časovni pas, za katerega se izračuna zamik od GMT.

locale: področna nastavitev, ki določa državo, za katero bo izračunan zamik, podana v obliki »je-DR« ali »DR«. Privzeta vrednost je področna nastavitev, določena z lastnostjo OfficeLocale storitve Platform.

### Primer:

##### V Basicu

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

##### V Pythonu

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

## UTCDateTime

Vrne datum in čas UTC glede na dani krajevni datum in čas v časovnem pasu.

### Skladnja:

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

### Parametri:

localdatetime: krajevni datum in čas v določenem časovnem pasu, podan kot datum.

timezone: časovni pas, za katerega je podan argument localdatetime.

locale: področna nastavitev, ki določa državo, za katero je podan argument localdatetime, podana v obliki »je-DR« ali »DR«. Privzeta vrednost je področna nastavitev, določena z lastnostjo OfficeLocale storitve Platform.

### Primer:

##### V Basicu

          ' Datum/čas v Berlinu je 23. junij 2022 ob 14:30:00
          Dim localDT As Date, utcTime As Date
          localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
          ' Datum/čas UTC je 23. junij 2022 ob 12:30:00
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

##### V Pythonu

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

## UTCNow

Vrne trenutni datum in čas UTC glede na dani časovni pas in področne nastavitve.

Ta metoda uporablja trenutni datum in čas vašega operacijskega sistema, da izračuna čas UTC.

### Skladnja:

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

### Parametri:

timezone (časovni pas): časovni pas, za katerega bo izračunan trenutni čas UTC.

locale: področna nastavitev, ki določa državo, za katero bo izračunan trenutni čas UTC, podana v obliki »je-DR« ali »DR«. Privzeta vrednost je področna nastavitev, določena z lastnostjo OfficeLocale storitve Platform.

### Primer:

##### V Basicu

          ' Recimo, da je čas operacijskega sistema 23. junij 2022 ob June 23rd, 2022 ob 10:42:00
          ' Če se računalnik nahaja v časovnem pasu Evropa/Berlin, bo čas UTC 23. junij 2022 ob 08:42:00
          Dim utcTime As Date
          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

##### V Pythonu

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

Podobne teme

Storitev ScriptForge.Platform