Inhoud

# Service ScriptForge.Region

De service Region biedt een verzameling eigenschappen en methoden om lokale en regiogerelateerde aspecten van programmeren af te handelen, zoals:

- Toegang tot land- en regioafhankelijke instellingen zoals getalopmaak, valuta en tijdzones.

- Tijdzones omrekenen en verschuivingen van de zomertijd (DST) berekenen.

- Getallen omzetten in tekst in elke ondersteunde taal.

## Definities

### Land of regio

Een tekenreeks die een taal en een land combineert in het formaat "la-CO". Het taalgedeelte wordt uitgedrukt met 2 of 3 kleine letters gevolgd door een streepje en 2 hoofdletters die het land vertegenwoordigen.

"en-US" komt bijvoorbeeld overeen met de Engelse taal in de Verenigde Staten; "fr-BE" komt overeen met de Franse taal in België, enzovoort.

In sommige situaties is de volledige landinstelling niet vereist en kan alleen de taal of het land worden opgegeven.

De meeste eigenschappen en methoden accepteren een landinstelling als argument. Als er geen landinstelling is opgegeven, wordt de landinstelling van de gebruikersinterface gebruikt, die is gedefinieerd in de eigenschap OfficeLocale van de service Platform.

### Tijdzone

Een tekenreeks in de notatie "Regio/Stad" zoals "Europa/Berlijn", of een tijdzone-ID zoals "UTC" of "GMT-8:00". Raadpleeg de wiki-pagina Lijst met tz-databasetijdzones voor een lijst met mogelijke tijdzonenamen en ID's.

Het verstrekken van een ongeldige tijdzonetekenreeks aan een van de methoden in de service Region resulteert niet in een runtime-fout. In plaats daarvan zullen methoden als UTCDateTime en UTCNow de datum en tijd van het huidige besturingssysteem retourneren.

Het tijdsverschil tussen de tijdzone en de Greenwich Meridian Time (GMT) wordt uitgedrukt in minuten.

De zomertijd (DST) is een extra compensatie.

De tijdzone- en zomertijdverschuivingen kunnen positief of negatief zijn.

## Service-aanroep

Voordat u de service Region gebruikt, moet de ScriptForge-bibliotheek worden geladen of geïmporteerd:

• Basic macro's kunnen de bibliotheek ScriptForge laden met de instructie:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts kunnen de module scriptforge importeren met:
from scriptforge import CreateScriptService

De onderstaande voorbeelden in Basic en Python instantiëren de service Region en openen de eigenschap Country.

##### In BASIC

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

##### In Python

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

## Eigenschappen

Alle onderstaande eigenschappen accepteren een locale-argument, opgegeven als een tekenreeks. Sommige eigenschappen vereisen dat dit argument de indeling "la-CO" heeft, terwijl andere "la" of "CO" als invoer kunnen ontvangen.

Naam | Alleen lezen | Type | Taalinstellingen | Beschrijving
--- | --- | --- | --- | ---
Country | Ja | String | "la‑CO" "CO" | Retourneert de landnaam in het Engels die overeenkomt met een bepaalde regio.
Currency | Ja | String | "la-CO" "CO" | Retourneert de ISO 4217-valutacode van de opgegeven regio.
DatePatterns | Ja | Tekenreeksmatrix | "la-CO" | Retourneert een op nul gebaseerde matrix van tekenreeksen die de datumacceptatiepatronen voor de opgegeven regio bevatten.
DateSeparator | Ja | String | "la-CO" | Retourneert het datumscheidingsteken dat in de opgegeven regio wordt gebruikt.
DayAbbrevNames | Ja | Tekenreeksmatrix | "la-CO" "la" | Retourneert een op nul gebaseerde matrix van tekenreeksen die de lijst met afgekorte weekdagnamen in de opgegeven taal bevat.
DayNames | Ja | Tekenreeksmatrix | "la-CO" "la" | Retourneert een op nul gebaseerde matrix van tekenreeksen die de lijst met weekdagnamen in de opgegeven taal bevat.
DayNarrowNames | Ja | Tekenreeksmatrix | "la-CO" "la" | Retourneert een op nul gebaseerde matrix van tekenreeksen die de lijst met de initialen van weekdagnamen in de opgegeven taal bevat.
DecimalPoint | Ja | String | "la-CO" | Retourneert het decimaalteken dat wordt gebruikt in getallen in de opgegeven regio.
Language | Ja | String | "la-CO" "la" | Retourneert de naam van de taal, in het Engels, van de opgegeven regio.
ListSeparator | Ja | String | "la-CO" | Retourneert het lijstscheidingsteken dat in de opgegeven regio wordt gebruikt.
MonthAbbrevNames | Ja | Tekenreeksmatrix | "la-CO" "la" | Retourneert een op nul gebaseerde matrix van tekenreeksen die de lijst met afgekorte maandnamen in de opgegeven taal bevat.
MonthNames | Ja | Tekenreeksmatrix | "la-CO" "la" | Retourneert een op nul gebaseerde matrix van tekenreeksen die de lijst met maandnamen in de opgegeven taal bevat.
MonthNarrowNames | Ja | Tekenreeksmatrix | "la-CO" "la" | Retourneert een op nul gebaseerde matrix van tekenreeksen met de lijst van de initialen van maandnamen in de opgegeven taal.
ThousandSeparator | Ja | String | "la-CO" | Retourneert het scheidingsteken voor duizendtallen dat wordt gebruikt in getallen in het opgegeven gebied.
TimeSeparator | Ja | String | "la-CO" | Retourneert het scheidingsteken dat wordt gebruikt om tijden in de opgegeven regio op te maken.

Lijst met methoden in de service Regio
DSTOffset LocalDateTime | Number2Text TimeZoneOffset | UTCDateTime UTCNow

## DSTOffset

Berekent de extra verschuiving van de zomertijd (DST), in minuten, die van toepassing is op een bepaalde regio en tijdzone.

### Syntaxis:

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

### Parameters:

localdatetime: de lokale datum en tijd uitgedrukt als een datum.

timezone: de tijdzone waarvoor de afwijking wordt berekend.

locale: de landinstelling die het land specificeert waarvoor de offset wordt berekend, gegeven in de notatie "la-CO" of "CO". De standaardwaarde is de landinstelling die is gedefinieerd in de eigenschap OfficeLocale van de eigenschap Platform-service.

### Voorbeeld:

##### In BASIC

          ' Berekent de offset die van toepassing is in de tijdzone "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 (minuten)
          aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minuten)

##### In Python

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

## LocalDateTime

Berekent de lokale datum en tijd op basis van een UTC-datum en -tijd.

### Syntaxis:

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

### Parameters:

utcdatetime: de UTC-datum en -tijd, uitgedrukt met een datumobject.

timezone: de tijdzone waarvoor de lokale tijd wordt berekend.

locale: de landinstelling die het land aangeeft waarvoor de lokale tijd wordt berekend, gegeven in de notatie "la-CO" of "CO". De standaardwaarde is de landinstelling die is gedefinieerd in de eigenschap OfficeLocale van de eigenschap Platform-service.

### Voorbeeld:

##### In BASIC

          ' June 6th, 2022 at 10:30:45 (hier gebruikt als UTC-tijd)
          Dim UTCTime As Date, localTime As Date
          UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
          ' Berekent lokale tijd in Sao Paulo, Brazilië
          ' June 6th, 2022 at 07:30:45
          localTime = oRegion.LocalDateTime(UTCTime, "America/Sao_Paulo", "BR")

##### In Python

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

## Number2Text

Converteert getallen en geldwaarden naar geschreven tekst voor een van de momenteel ondersteunde talen.

Ga voor een lijst van alle ondersteunde talen naar de XNumberText Interface API-referentie.

### Syntaxis:

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

### Parameters:

number: het getal dat moet worden omgezet in geschreven tekst. Het kan worden geleverd als een numeriek type of als een tekenreeks. Wanneer een tekenreeks wordt opgegeven, kan deze worden voorafgegaan door een voorvoegsel dat aangeeft hoe de cijfers moeten worden geschreven. Het is ook mogelijk om ISO 4217-valutacodes op te nemen. Zie onderstaande voorbeelden voor meer informatie.

locale: de landinstelling die de taal definieert waarnaar het nummer wordt geconverteerd, gegeven in de indeling "la-CO" of "la". De standaardwaarde is de landinstelling die is gedefinieerd in de eigenschap OfficeLocale van de eigenschap Platform-service.

### Voorbeeld:

##### In BASIC

          ' Retourneert "honderdvijf"
          Dim numText As String
          numText = oRegion.Number2Text(105, "en-US")
          ' Retourneert: "twee punt vier twee"
          numText = oRegion.Number2Text(2.42, "en-US")
          ' Retourneert: "vijfentwintig euro en tien cent" Let op het valutasymbool "EUR"
          numText = oRegion.Number2Text("EUR 25.10", "en-US")
          ' Retourneert: "vijftiende"; Let op het voorvoegsel "ordinal"
          numText = oRegion.Number2Text("ordinal 15", "en-US")

##### In 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")

Om een lijst te krijgen van alle ondersteunde voorvoegsels in een bepaalde taal, roept u Number2Text aan met het speciale "help"-argument. Neem in het onderstaande voorbeeld aan dat uw landinstelling is ingesteld op "en-US", dan wordt de lijst met beschikbare voorvoegsels voor "en-US" weergegeven door 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

De eerste regel in het berichtvenster heeft geen voorvoegsel, wat betekent dat dit het standaardformaat is. De volgende regels bevatten het voorvoegsel en enkele voorbeelden van getallen die het formaat gebruiken.

Elke taal heeft zijn eigen set ondersteunde voorvoegsels. Het aantal beschikbare voorvoegsels kan van taal tot taal verschillen.

Om de lijst met voorvoegsels voor een specifieke taal of landinstelling te krijgen, kan deze worden opgegeven als het tweede argument in Number2Text. Het onderstaande voorbeeld toont de beschikbare voorvoegsels die beschikbaar zijn voor de "pt-BR"-landinstelling:

          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

Retourneert de afwijking tussen GMT en de opgegeven tijdzone en landinstelling, in minuten.

### Syntaxis:

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

### Parameters:

timezone: de tijdzone waarvoor de afwijking naar de GMT wordt berekend.

locale: de landinstelling die het land specificeert waarvoor de offset wordt berekend, gegeven in de notatie "la-CO" of "CO". De standaardwaarde is de landinstelling die is gedefinieerd in de eigenschap OfficeLocale van de Platform-service.

### Voorbeeld:

##### In BASIC

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

##### In Python

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

## UTCDateTime

Retourneert de UTC-datum en -tijd, rekening houdend met een bepaalde lokale datum en tijd in een tijdzone.

### Syntaxis:

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

### Parameters:

localdatetime: de lokale datum en tijd in een specifieke tijdzone uitgedrukt als een datum.

timezone: de tijdzone waarvoor het argument localdatetime is opgegeven.

locale: de landinstelling die het land specificeert waarvoor het argument localdatetime werd gegeven, uitgedrukt in de notatie "la-CO" of "CO". De standaardwaarde is de landinstelling die is gedefinieerd in de eigenschap OfficeLocale van de Platform-service.

### Voorbeeld:

##### In BASIC

          ' Datum/Tijd in Berlijn, 23 juni 2022 om 14:30:00
          Dim localDT As Date, utcTime As Date
          localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
          ' De UTC-datum/-tijd is 23 juni 2022 om 12:30:00
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

##### In Python

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

## UTCNow

Retourneert de huidige UTC-datum en -tijd, gegeven een tijdzone en landinstelling.

Deze methode gebruikt de huidige datum en tijd van uw besturingssysteem om de UTC-tijd te berekenen.

### Syntaxis:

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

### Parameters:

timezone: de tijdzone waarvoor de huidige UTC-tijd wordt berekend.

locale: de landinstelling die het land aangeeft waarvoor de huidige UTC-tijd wordt berekend, gegeven in de notatie "la-CO" of "CO". De standaardwaarde is de landinstelling die is gedefinieerd in de eigenschap OfficeLocale van de Platform-service.

### Voorbeeld:

##### In BASIC

          ' Stel dat de tijd van het besturingssysteem 23 juni 2022 is om 10:42:00
          ' Als de computer zich in Europa/Berlijn bevindt, is UTC-tijd 23 juni 2022 om 08:42:00
          Dim utcTime As Date
          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

##### In Python

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

Verwante onderwerpen

Service ScriptForge.Platform