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 angibt, 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 angibt, 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 angibt, 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 angibt, 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 angibt, 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!