Wobsah

# Słužba ScriptForge.Region

Słužba Region zběrku kajkosćow a metodow k dispoziciji staja, zo by z programowanskimi aspektami wobchadźała, kotrež so na narodnu šemu a region poćahuja, na přikład:

- Přistup k nastajenjam, kotrež su wot narodneje šemy a regiona wotwisne, na přikład formatěrowanje ličbow, měna a časowe pasma.

- Přetworjenje časowych pasmow a wuličenje wotchilenjow wot lětnjeho časa (DST).

- Přetworjenje ličbow do teksta w kóždej podpěranej rěči.

## Definicije

### Narodna šema abo region

Znamješkowy rjećazk, kotryž rěč a kraj w formaće "rěč-KR" kombinuje. Rěčny dźěl so z 2 abo 3 pismikami w małopisanju zwuraznja, kotremuž wjazawka a 2 pismikaj slěduja, kotrež kraj reprezentuja.

Na přikład "de-AT" němskej rěči w Awstriskej wotpowěduje; "fr-BE" wotpowěduje francoskej rěči w Belgiskej a tak dale.

W někotrych situacijach dospołna narodna šema trěbna njeje a dosaha, rěč abo kraj podać.

Najwjace kajkosćow a metodoa narodnu šemu jako argument akceptuje. Jeli narodna šema podata njeje, so narodna šema wužiwarskeho powjercha wužiwa, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Časowe pasmo

Znamješkowy rjećazk we formaće „region/město“, na přikład „Europa/Berlin“ abo ID časoweho pasma kaž „UTC“ abo „GMT-8:00“. Čitajće wikistronu Lisćina časowych pasmow datoweje banki časowych pasmow (jendźelsce) z lisćinu móžnych mjenow a ID časowych pasmow.

Hdyž so njepłaćiwy znamješkowy rjećazk časoweho pasma w jednej z metodow w słužbje Region podawa, to k wuwjedźenskočasowemu zmylkej njewjedźe. Město toho metody kaž UTCDateTime a UTCNow datum a čas aktualneho dźěłoweho systema wróćeja.

Časowe wotchilenje mjez časowym pasmom a Greenwich Mean Time (GMT) so w mjeńšinach zwuraznja.

Lětni čas (DST) je přidatne wotchilenje.

Wotchilenja časowych pasmow a lětnjeho časa móža pozitiwne kaž tež negatiwne być.

## Słužbowe wuwołanje

Prjedy hač słužbu Region wužiwaće, dyrbiće biblioteku ScriptForge začitać abo importować:

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService

Slědowace přikłady w Basic a Python słužbu Region instanciěruja a maja přistup ke kajkosći Country.

##### W Basic

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

##### W Python

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

## Kajkosće

Wšě deleka nalistowane kajkosće argument locale akceptua, kotryž so jako znamješkowy rjećazk k dispoziciji staja. Někotre kajkosće trjebaja tutón argument w formaće „rěč-KR“, mjeztym zo druhe jenož "rěč" abo "KR" wočakuja.

Mjeno | Přećiwo pisanju škitany | Typ | Narodna šema | Wopisanje
--- | --- | --- | --- | ---
Country | Haj | String | "la‑CO" "CO" | Wróći mjeno kraja w jendźelšćinje, kotrež wěstemu regionej wotpowěduje.
Currency | Haj | String | "la-CO" "CO" | Wróći měnowy kod ISO 4217 podateho regiona.
DatePatterns | Haj | Matriks znamješkowych rjećazkow | "la-CO" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž mustry za akceptowanje datumow za podaty region wobsahuje.
DateSeparator | Haj | String | "la-CO" | Wróći datumowe dźělatko, kotrež so w podatym regionje wužiwa.
DayAbbrevNames | Haj | Matriks znamješkowych rjećazkow | "la-CO" "la" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž lisćinu skrótšenych mjenow wšědnych dnjow w podatej rěči wobsahuje.
DayNames | Haj | Matriks znamješkowych rjećazkow | "la-CO" "la" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž lisćinu mjenow wšědnych dnjow w podatej rěči wobsahuje.
DayNarrowNames | Haj | Matriks znamješkowych rjećazkow | "la-CO" "la" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž lisćinu spočatnych pismikow mjenow wšědnych dnjow w podatej rěči wobsahuje.
DecimalPoint | Haj | String | "la-CO" | Wróći decimalne dźělatko, kotrež so w ličbach w podatym regionje wužiwa.
Language | Haj | String | "la-CO" "la" | Wróći mjeno rěče podateho regiona w jendźelšćinje.
ListSeparator | Haj | String | "la-CO" | Wróći lisćinowy dźělatko, kotrež so w podatym regionje wužiwa.
MonthAbbrevNames | Haj | Matriks znamješkowych rjećazkow | "la-CO" "la" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž lisćinu skrótšenych měsačnych mjenow w podatej rěči wobsahuje.
MonthNames | Haj | Matriks znamješkowych rjećazkow | "la-CO" "la" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž lisćinu měsačnych mjenow w podatej rěči wobsahuje.
MonthNarrowNames | Haj | Matriks znamješkowych rjećazkow | "la-CO" "la" | Wróći matriks bazy nul ze znamješkowymi rjećazkami, kotraž lisćinu spočatnych pismikow měsačnych mjenow w podatej rěči wobsahuje.
ThousandSeparator | Haj | String | "la-CO" | Wróći tysacowkowe dźělatko, kotrež so w ličbach w podatym regionje wužiwa.
TimeSeparator | Haj | String | "la-CO" | Wróći dźělatko, kotrež so wužiwa, zo by časy w podatym regionje formatěrowało.

Lisćina metodow w słužbje Region
DSTOffset LocalDateTime | Number2Text TimeZoneOffset | UTCDateTime UTCNow

## DSTOffset

Wuličuje přidatne wotchilenje lětnjeho časa (DST) w mjeńšinach, kotrež za podaty region a podate časowe pasmo płaći.

### Syntaksa:

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

### Parametry:

localdatetime: lokalny datum a čas, zwuraznjenej jako datum.

timezone: časowe pasmo, za kotrež so wotchilenje wobličuje.

locale: Narodna šema, kotraž kraj podawa, za kotryž so wotchilenje wuličuje, pak w formaće "rěč-KR" abo w formaće "KR". Standardna hódnota je narodna šema, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Přikład:

##### W Basic

          ' Wuličuje wotchilenje, kotrež za časowe pasmo "America/Los_Angeles" płaći.
          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 (mjeńšiny)
          aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (mjeńšiny)

##### W Python

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

## LocalDateTime

Wuličuje lokalny datum a čas z datuma a časa UTC.

### Syntaksa:

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

### Parametry:

utcdatetime: datum a čas UTC, zwuraznjeny jako datumowy objekt.

timezone: časowe pasmo, za kotrež so lokalny čas wobličuje.

locale: narodna šema, kotraž kraj podawa, za kotryž so lokalny čas wobličuje, pak w formaće "rěč-KR" abo w formaće "KR". Standardna hódnota je narodna šema, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Přikład:

##### W Basic

          ' 6. junija 2022, 10:30:45 (tu jako čas UTC)
          Dim UTCTime As Date, localTime As Date
          UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
          ' Wobličuje lokalny čas w Sao Paulo, Brazilska
          ' 6. junija 2022, 07:30:45 hodź.
          localTime = oRegion.LocalDateTime(UTCTime, "America/Sao_Paulo", "BR")

##### W Python

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

## Number2Text

Přetworja ličby a pjenježne hódnoty do napisaneho teksta za wšě tuchwilu podpěrane rěče.

Za lisćinu wšěch podpěranych rěčow, hlejće referencu API tykački XNumberText.

### Syntaksa:

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

### Parametry:

number: ličba, kotraž so ma do napisaneho teksta přetworić. Da so pak jako numeriski typ pak jako znamješkowy rjećazk podać. Hdyž so znamješkowy rjećazk podawa, móže so wón z prefiksom započeć, kotryž podawa, kak so maja ličby pisać. Je tež móžno, měnowe kody ISO 4217 zapřijeć. Hlejće slědowace přikłady za dalše informacije.

locale: narodna šema, kotrař rěč definuje, do kotrejež so ma ličba přetworić, pak w formaće "rěč-KR" abo w formaće "rěč". Standardna hódnota je narodna šema, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Přikład:

##### W Basic

          ' Wróći "sto a pjeć"
          Dim numText As String
          numText = oRegion.Number2Text(105, "hsb")
          ' Wróći "dwaj koma dwaj"
          numText = oRegion.Number2Text(2.42, "hsb")
          ' Wróći "pjećadwaceći eurow a dźesać centow"; Dźiwajće na měnowy symbol "EUR"
          numText = oRegion.Number2Text("EUR 25.10", "hsb")
          ' Wróći "pjatnaty"; dźiwajće na prefiks "ordinal"
          numText = oRegion.Number2Text("ordinal 15", "hsb")

##### W Python

          numText = oRegion.Number2Text(105, "hsb")
          numText = oRegion.Number2Text(2.42, "hsb")
          numText = oRegion.Number2Text("EUR 25.10", "hsb")
          numText = oRegion.Number2Text("ordinal 15", "hsb")

Zo byšće lisćinu wšěch podpěranych prefiksow we wěstej rěči dóstał, wuwołajće Number2Text ze specialnym argumentom "help". Připušćće w slědowacym přikładźe, zo waša narodna šema je na „en-US“ nastajena, potom so lisćina prefiksow přez MsgBox pokazuje, kotraž je za „en-US“ k dispoziciji:

          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

Prěnja linka w zdźělenskim polo prefiks nima, štož rěka, zo je standardny format. Naslědne linki prefiks a někotre přikłady ličbow, kotrež jeho format wužiwaja, wobsahuja.

Kóžda rěč ma swójsku sadźbu podpěranych prefiksow. Ličba prefiksow, kotrež su k dispoziciji, móža wot rěče do rěče wariěrować.

Zo byšće lisćinu prefiksow za wěstu rěč abo narodnu šemu dóstał, da so jako druhi argument w Numer2Text podać. Slědowacy přikład prefiksy pokazuje, kotrež su za narodnu šemu "pt-BR" k dispoziciji:

          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

Wróći wotchilenje mjez GMT a podatym časowym pasmom a narodnej šemu w mjeńšinach.

### Syntaksa:

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

### Parametry:

timezone: časowe pasmo, za kotrež so wotchilenje ke GMT wobličuje.

locale: Narodna šema, kotraž kraj podawa, za kotryž so wotchilenje wuličuje, pak w formaće "rěč-KR" abo w formaće "KR". Standardna hódnota je narodna šema, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Přikład:

##### W Basic

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

##### W Python

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

## UTCDateTime

Wróći datum a čas UTC dźiwajo na daty lokalny datum a čas w časowym pasmje.

### Syntaksa:

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

### Parametry:

localdatetime: lokalny datum a čas we wěstym časowym pasmje jako datum zwuraznjenej.

timezone: časowe pasmo, za kotrež je argument localdatetime podaty.

locale: narodna šema, kotraž kraj podawa, za kotryž je argument localdatetime je podata, pak w formaće "rěč-KR" pak "KR" zwuraznjena. Standardna hódnota je narodna šema, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Přikład:

##### W Basic

          ' Datum/Čas w Berlinje, 23. junija 2022, 14:30:00 hodź.
          Dim localDT As Date, utcTime As Date
          localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
          ' Datum/Čas UTC je 23. junija 2022, 12:30:00 hodź.
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

##### W Python

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

## UTCNow

Wróći aktualny datum a čas UTC, hdyž časowe pasmo a narodna šema stej podatej.

Tuta metoda aktualny datum a čas wašeho dźěłoweho systema wužiwa, zo by čas UTC wobličiła.

### Syntaksa:

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

### Parametry:

timezone: časowe pasmo, za kotrež so aktualny čas UTC wobličuje.

locale: narodna šema, kotraž kraj podawa, za kotryž so aktualny čas UTC wobličuje, pak w formaće "rěč-KR" pak w formaće "KR" zwuraznjena. Standardna hódnota je narodna šema, kotraž je w kajkosći OfficeLocale słužby Platform definowana.

### Přikład:

##### W Basic

          ' Připušćmy, zo čas dźěłoweho systema je 23. junija 2022, 10:42:00 hodź.
          ' Jeli ličak je w časowym pasmje Europa/Berlin, je 23. junija 2022, 08:42:00 čas UTC
          Dim utcTime As Date
          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

##### W Python

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

Podobne temy

Słužba ScriptForge.Platform

Prošu podpěrajće nas!