Inhalte

# Dienst ScriptForge.Region

Der Dienst Region stellt eine Sammlung von Eigenschaften und Methoden bereit, um gebietsschema- und regionsbezogene Aspekte der Programmierung zu handhaben, wie zum Beispiel:

- Zugriff auf gebietsschema- und regionsabhängige Einstellungen wie Zahlenformatierung, Währung und Zeitzonen.

- Konvertierung von Zeitzonen und Berechnen von Abweichungen von der Sommerzeit (DST).

- Umwandlung von Zahlen in Text in jeder unterstützten Sprache.

## Definitionen

### Gebietsschema oder Region

Eine Zeichenfolge, die eine Sprache und ein Land im Format "sp-LA" kombiniert. Der Sprachteil wird mit 2 oder 3 Kleinbuchstaben, gefolgt von einem Bindestrich und 2 Großbuchstaben, die das Land darstellen, ausgedrückt.

Beispielsweise entspricht "de-AT" der deutschen Sprache in Österreich; "fr-BE" entspricht der französischen Sprache in Belgien und so weiter.

In einigen Situationen ist das vollständige Gebietsschema nicht erforderlich und es kann nur die Sprache oder das Land angegeben werden.

Die meisten Eigenschaften und Methoden akzeptieren ein Gebietsschema als Argument. Wenn kein Gebietsschema angegeben ist, wird das Gebietsschema der Benutzeroberfläche verwendet, das in der Eigenschaft OfficeLocale des Dienstes Platform definiert ist.

### Zeitzone

Eine Zeichenfolge im Format „Region/Stadt“, beispielsweise „Europa/Berlin“, oder eine Zeitzonen-ID, beispielsweise „UTC“ oder „GMT-8:00“. Auf der Wikipedia-Seite Liste der Zeitzonen der Zeitzonendatenbank (englisch) finden Sie eine Liste möglicher Zeitzonennamen und -IDs.

Die Bereitstellung einer ungültigen Zeitzonenzeichenfolge für eine der Methoden im Dienst Region führt nicht zu einem Laufzeitfehler. Stattdessen geben Methoden wie UTCDateTime und UTCNow das aktuelle Datum und die Uhrzeit des Betriebssystems zurück.

Der Zeitversatz zwischen der Zeitzone und der Greenwich Meridian Time (GMT) wird in Minuten ausgedrückt.

Die Sommerzeit (DST) ist ein zusätzlicher Offset.

Die Zeitzonen- und DST-Offsets können positiv oder negativ sein.

## Dienstaufruf

Vor der Verwendung des Dienstes Region muss die Bibliothek ScriptForge geladen oder importiert werden:

• Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-Skripte erfordern einen Import aus dem Modul scriptforge:
from scriptforge import CreateScriptService

Die folgenden Beispiele in Basic und Python instanziieren den Dienst Region und greifen auf die Eigenschaft Country zu.

##### In Basic

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

##### In Python

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

## Eigenschaften

Alle unten aufgeführten Eigenschaften akzeptieren ein Argument locale, das als Zeichenfolge bereitgestellt wird. Einige Eigenschaften erfordern, dass dieses Argument das Format "sp-LA" hat, während andere möglicherweise "sp" oder "LA" als Eingabe erwarten.

Name | Schreibgeschützt | Typ | Gebietsschema | Beschreibung
--- | --- | --- | --- | ---
Country | Ja | String | "la‑CO" "CO" | Gibt den Ländernamen in englischer Sprache zurück, der einer bestimmten Region entspricht.
Currency | Ja | String | "la-CO" "CO" | Gibt den ISO 4217-Währungscode der angegebenen Region zurück.
DatePatterns | Ja | Zeichenfolgenmatrix | "la-CO" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Datumsakzeptanzmuster für die angegebene Region enthält.
DateSeparator | Ja | String | "la-CO" | Gibt das in der angegebenen Region verwendete Datumstrennzeichen zurück.
DayAbbrevNames | Ja | Zeichenfolgenmatrix | "la-CO" "la" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Liste der abgekürzten Wochentagsnamen in der angegebenen Sprache enthält.
DayNames | Ja | Zeichenfolgenmatrix | "la-CO" "la" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Liste der Wochentagsnamen in der angegebenen Sprache enthält.
DayNarrowNames | Ja | Zeichenfolgenmatrix | "la-CO" "la" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Liste der Anfangsbuchstaben von Wochentagsnamen in der angegebenen Sprache enthält.
DecimalPoint | Ja | String | "la-CO" | Gibt das Dezimaltrennzeichen zurück, das in Zahlen in der angegebenen Region verwendet wird.
Language | Ja | String | "la-CO" "la" | Gibt den Namen der Sprache der angegebenen Region in Englisch zurück.
ListSeparator | Ja | String | "la-CO" | Gibt das in der angegebenen Region verwendete Listentrennzeichen zurück.
MonthAbbrevNames | Ja | Zeichenfolgenmatrix | "la-CO" "la" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Liste der abgekürzten Monatsnamen in der angegebenen Sprache enthält.
MonthNames | Ja | Zeichenfolgenmatrix | "la-CO" "la" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Liste der Monatsnamen in der angegebenen Sprache enthält.
MonthNarrowNames | Ja | Zeichenfolgenmatrix | "la-CO" "la" | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Liste der Anfangsbuchstaben von Monatsnamen in der angegebenen Sprache enthält.
ThousandSeparator | Ja | String | "la-CO" | Gibt das Tausendertrennzeichen zurück, das für Zahlen in der angegebenen Region verwendet wird.
TimeSeparator | Ja | String | "la-CO" | Gibt das Trennzeichen zurück, das zum Formatieren von Zeiten in der angegebenen Region verwendet wird.

Liste der Methoden im Dienst "Region"
DSTOffset LocalDateTime | Number2Text TimeZoneOffset | UTCDateTime UTCNow

## DSTOffset

Berechnet die zusätzliche Abweichung von der Sommerzeit (DST) in Minuten, die für eine bestimmte Region und Zeitzone gilt.

### Syntax:

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

### Parameter:

localdatetime: das lokale Datum und die Uhrzeit, ausgedrückt als Datum.

timezone: die Zeitzone, für die "offset" berechnet wird.

locale: Das Gebietsschema, welches das Land festlegt, für das "offset" berechnet wird, entweder im Format "sp-LA" oder "LA". Der Standardwert ist das Gebietsschema, das in der Eigenschaft OfficeLocale des Dienstes Platform festgelegt ist.

### Beispiel:

##### In Basic

          ' Berechnet den in der Zeitzone "America/Los_Angeles" geltenden "offset"
          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

Berechnet das lokale Datum und die Uhrzeit aus einem UTC-Datum und einer UTC-Zeit.

### Syntax:

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

### Parameter:

utcdatetime: UTC-Datum und -Zeit, ausgedrückt als ein Datumsobjekt.

timezone: die Zeitzone, für welche die Ortszeit berechnet wird.

locale: Das Gebietsschema, welches das Land festlegt, für das die Ortszeit berechnet wird, entweder im Format "sp-LA" oder "LA". Der Standardwert ist das Gebietsschema, das in der Eigenschaft OfficeLocale des Dienstes Platform festgelegt ist.

### Beispiel:

##### In Basic

          ' 6. Juni 2022, 10:30:45 (hier als UTC-Zeit verwendet)
          Dim UTCTime As Date, localTime As Date
          UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
          ' Berechnet die Ortszeit in Sao Paulo, Brasilien
          ' 6. Juni 2022, 07:30:45 Uhr
          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

Konvertiert Zahlen und Geldwerte in geschriebenen Text für alle derzeit unterstützten Sprachen.

Eine Liste aller unterstützten Sprachen finden Sie in der API-Referenz der Schnittstelle "XNumberText".

### Syntax:

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

### Parameter:

number: die in geschriebenen Text umzuwandelnde Zahl. Es kann entweder als numerischer Typ oder als Zeichenfolge bereitgestellt werden. Wenn eine Zeichenfolge angegeben wird, kann ihr ein Präfix vorangestellt werden, das angibt, wie die Zahlen geschrieben werden sollen. Es ist auch möglich, ISO 4217-Währungscodes einzuschließen. Weitere Informationen finden Sie unten in den Beispielen.

locale: Das Gebietsschema, das die Sprache definiert, in welche die Zahl konvertiert wird, entweder im Format "sp-LA" oder "sp". Der Standardwert ist das Gebietsschema, das in der Eigenschaft OfficeLocale des Dienstes Platform festgelegt ist.

### Beispiel:

##### In Basic

          ' Gibt "Einhundertfünf" zurück
          Dim numText As String
          numText = oRegion.Number2Text(105, "de-DE")
          ' Gibt "zwei Komma vier zwei" zurück
          numText = oRegion.Number2Text(2.42, "de-DE")
          ' Gibt "fünfundzwanzig Euro und zehn Cent" zurück; Beachten Sie das Währungssymbol "EUR".
          numText = oRegion.Number2Text("EUR 25.10", "de-DE")
          ' Gibt "Fünfzehnte" zurück; Beachten Sie das Präfix "ordinal".
          numText = oRegion.Number2Text("ordinal 15", "de-DE")

##### In Python

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

Um eine Liste aller unterstützten Präfixe in einer bestimmten Sprache zu erhalten, rufen Sie Number2Text mit dem speziellen Argument "help" auf. Nehmen wir im Beispiel unten an, dass Ihr Gebietsschema auf „en-US“ eingestellt ist, dann wird die Liste der verfügbaren Präfixe für „en-US“ von MsgBox angezeigt:

          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

Die erste Zeile im Meldungsfeld hat kein Präfix, was bedeutet, dass es sich um das Standardformat handelt. Die nachfolgenden Zeilen enthalten das Präfix und einige Beispiele für Zahlen, die sein Format verwenden.

Jede Sprache hat ihre eigenen unterstützten Präfixe. Die Anzahl der verfügbaren Präfixe kann von Sprache zu Sprache variieren.

Um die Liste der Präfixe für eine bestimmte Sprache oder Region zu erhalten, kann diese als zweites Argument in Number2Text angegeben werden. Das folgende Beispiel zeigt die verfügbaren Präfixe für das Gebietsschema „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

Gibt den Versatz zwischen GMT und der angegebenen Zeitzone und dem angegebenen Gebietsschema in Minuten zurück.

### Syntax:

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

### Parameter:

timezone: die Zeitzone, für die "offset" zur GMT berechnet wird.

locale: Das Gebietsschema, welches das Land festlegt, für das "offset" berechnet wird, entweder im Format "sp-LA" oder "LA". Der Standardwert ist das Gebietsschema, das in der Eigenschaft OfficeLocale des Dienstes Platform festgelegt ist.

### Beispiel:

##### 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

Gibt das UTC-Datum und die UTC-Zeit unter Berücksichtigung eines gegebenen lokalen Datums und einer gegebenen Uhrzeit in einer Zeitzone zurück.

### Syntax:

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

### Parameter:

localdatetime: das lokale Datum und die Uhrzeit in einer bestimmten Zeitzone, ausgedrückt als Datum.

timezone: die Zeitzone, für die das Argument localdatetime angegeben wurde.

locale: Das Gebietsschema, welches das Land festlegt, für das das Argument localdatetime angegeben wurde, ausgedrückt entweder im Format "sp-LA" oder "LA". Der Standardwert ist das Gebietsschema, das in der Eigenschaft OfficeLocale des Dienstes Platform festgelegt ist.

### Beispiel:

##### In Basic

          ' Datum/Uhrzeit in Berlin, 23. Juni 2022, 14:30:00 Uhr
          Dim localDT As Date, utcTime As Date
          localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
          ' UTC-Datum/-Zeit ist der 23. Juni 2022, 12:30:00 Uhr
          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

Gibt das aktuelle UTC-Datum und die aktuelle UTC-Zeit zurück, wenn eine Zeitzone und ein Gebietsschema angegeben sind.

Diese Methode verwendet das aktuelle Datum und die Uhrzeit Ihres Betriebssystems, um die UTC-Zeit zu berechnen.

### Syntax:

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

### Parameter:

timezone: die Zeitzone, für welche die aktuelle UTC-Zeit berechnet wird.

locale: Das Gebietsschema, welches das Land festlegt, für das die aktuelle UTC-Zeit berechnet wird, entweder im Format "sp-LA" oder "LA". Der Standardwert ist das Gebietsschema, das in der Eigenschaft OfficeLocale des Dienstes Platform festgelegt ist.

### Beispiel:

##### In Basic

          ' Angenommen, die Uhrzeit des Betriebssystems ist der 23. Juni 2022, 10:42:00 Uhr
          ' Wenn sich der Computer in Europa/Berlin befindet, ist die UTC-Zeit der 23. Juni 2022, 08:42:00 Uhr
          Dim utcTime As Date
          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

##### In Python

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

Verwandte Themen

Dienst ScriptForge.Platform