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:

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.

note

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 Wiki-Seite Liste der Zeitzonen der Zeitzonendatenbank finden Sie eine Liste möglicher Zeitzonennamen und -IDs.

warning

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.

note

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:

note

• 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.

tip

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.

note

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

Bitte unterstützen Sie uns!