Υπηρεσία ScriptForge.Region

Η υπηρεσία Region (Περιοχή) παρέχει μια συλλογή ιδιοτήτων και μεθόδων για τον χειρισμό πτυχών προγραμματισμού που σχετίζονται με τις τοπικές ρυθμίσεις και την περιοχή, όπως:

Ορισμοί

Τοπικές ρυθμίσεις ή περιοχή

Μια συμβολοσειρά που συνδυάζει μια γλώσσα και μια χώρα στη μορφή "la-CO". Το τμήμα της γλώσσας εκφράζεται με 2 ή 3 πεζούς χαρακτήρες ακολουθούμενους από μια παύλα και 2 κεφαλαίους χαρακτήρες που αντιπροσωπεύουν τη χώρα.

Για παράδειγμα, το "en-US" αντιστοιχεί στην αγγλική γλώσσα στις Ηνωμένες Πολιτείες. Το "fr-BE" αντιστοιχεί στη γαλλική γλώσσα στο Βέλγιο, και ούτω καθεξής.

Σε ορισμένες περιπτώσεις δεν απαιτείται η πλήρης τοπική ρύθμιση και μπορεί να καθοριστεί μόνο η γλώσσα ή η χώρα.

note

Οι περισσότερες ιδιότητες και μέθοδοι δέχονται μια τοπική ρύθμιση ως όρισμα. Εάν δεν έχει καθοριστεί τοπική ρύθμιση, τότε χρησιμοποιείται η τοπική ρύθμιση διεπαφής χρήστη, η οποία ορίζεται στην ιδιότητα OfficeLocaleτης υπηρεσίας Platform.


Ζώνη χρόνου

Μια συμβολοσειρά με τη μορφή "Περιοχή/Πόλη", όπως "Ευρώπη/Βερολίνο", ή ένα αναγνωριστικό ζώνης ώρας, όπως "UTC" ή "GMT-8:00". Ανατρέξτε στη σελίδα wiki Κατάλογος ζωνών ώρας βάσης δεδομένων tz για έναν κατάλογο με πιθανά ονόματα και αναγνωριστικά ζωνών ώρας.

warning

Η παροχή μιας άκυρης συμβολοσειράς ζώνης χρόνου σε οποιαδήποτε από τις μεθόδους στην υπηρεσία Region (Περιοχή) δεν θα οδηγήσει σε σφάλμα χρόνου εκτέλεσης. Αντίθετα, μέθοδοι όπως UTCDateTime και UTCNow θα επιστρέψουν την τρέχουσα ημερομηνία και χρόνο του λειτουργικού συστήματος.


Η μετατόπιση χρόνου μεταξύ της ζώνης χρόνου και του χρόνου μεσημβρινού του Γκρίνουιτς (GMT) εκφράζεται σε λεπτά.

Η θερινή ώρα (DST) είναι μια επιπλέον αλλαγή.

note

Οι αλλαγές ζώνης χρόνου και θερινής ώρας μπορεί να είναι θετικές ή αρνητικές.


Κλήση υπηρεσίας

Πριν χρησιμοποιήσετε την υπηρεσία Region, πρέπει να φορτωθεί ή να εισαχθεί η βιβλιοθήκη ScriptForge:

note

• Οι μακροεντολές Basic απαιτούν τη φόρτωση της βιβλιοθήκης ScriptForge χρησιμοποιώντας την ακόλουθη πρόταση:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Τα σενάρια Python απαιτούν εισαγωγή από την ενότητα scriptforge:
από το scriptforge import CreateScriptService


Τα παρακάτω παραδείγματα σε Basic και Python δημιουργούν την υπηρεσία Region και έχουν πρόσβαση στην ιδιότητα Country.

Σε Basic

    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oRegion As Variant
    oRegion = CreateScriptService("Region")
    MsgBox oRegion.Country("en-US") ' Ηνωμένες Πολιτείες
  
Σε Python

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

Ιδιότητες

Όλες οι ιδιότητες που αναφέρονται παρακάτω αποδέχονται ένα όρισμα locale, το οποίο παρέχεται ως συμβολοσειρά. Ορισμένες ιδιότητες απαιτούν αυτό το όρισμα να έχει τη μορφή "la-CO", ενώ άλλες μπορεί να λαμβάνουν "la" ή "CO" ως είσοδο.

Όνομα

Μόνο για ανάγνωση

Τύπος

Τοπική ρύθμιση

Περιγραφή

Country

Ναι

String

"la‑CO"
"CO"

Επιστρέφει το όνομα της χώρας στα αγγλικά που αντιστοιχεί σε μια δεδομένη περιοχή.

Currency

Ναι

String

"la-CO"
"CO"

Επιστρέφει τον κωδικό νομίσματος ISO 4217 της καθορισμένης περιοχής.

DatePatterns

Ναι

Πίνακας συμβολοσειρών

"la-CO"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τα μοτίβα αποδοχής ημερομηνίας για την καθορισμένη περιοχή.

DateSeparator

Ναι

String

"la-CO"

Επιστρέφει το διαχωριστικό ημερομηνιών που χρησιμοποιείται στη δεδομένη περιοχή.

DayAbbrevNames

Ναι

Πίνακας συμβολοσειρών

"la-CO"
"la"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο των συντομευμένων ονομάτων καθημερινών ημερών στην καθορισμένη γλώσσα.

DayNames

Ναι

Πίνακας συμβολοσειρών

"la-CO"
"la"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα ονόματα των ημερών της εβδομάδας στην καθορισμένη γλώσσα.

DayNarrowNames

Ναι

Πίνακας συμβολοσειράς

"la-CO"
"la"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα αρχικά των ονομάτων της εβδομάδας στην καθορισμένη γλώσσα.

DecimalPoint

Ναι

String

"la-CO"

Επιστρέφει το διαχωριστικό δεκαδικών που χρησιμοποιείται σε αριθμούς στην καθορισμένη περιοχή.

Language

Ναι

String

"la-CO"
"la"

Επιστρέφει το όνομα της γλώσσας, στα Αγγλικά, της καθορισμένης περιοχής.

ListSeparator

Ναι

String

"la-CO"

Επιστρέφει το διαχωριστικό καταλόγου που χρησιμοποιείται στην καθορισμένη περιοχή.

MonthAbbrevNames

Ναι

Πίνακας γραμματοσειράς

"la-CO"
"la"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο των συντομευμένων ονομάτων μηνών στην καθορισμένη γλώσσα.

MonthNames

Ναι

Πίνακας συμβολοσειρών

"la-CO"
"la"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα ονόματα των μηνών στην καθορισμένη γλώσσα.

MonthNarrowNames

Ναι

Πίνακας συμβολοσειράς

"la-CO"
"la"

Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα αρχικά των ονομάτων των μηνών στην καθορισμένη γλώσσα.

ThousandSeparator

Ναι

String

"la-CO"

Επιστρέφει το διαχωριστικό χιλιάδων που χρησιμοποιείται σε αριθμούς στην καθορισμένη περιοχή.

TimeSeparator

Ναι

String

"la-CO"

Επιστρέφει το διαχωριστικό που χρησιμοποιείται για τη μορφοποίηση των χρόνων στην καθορισμένη περιοχή.


Κατάλογος Μεθόδων στην Υπηρεσία Region

DSTOffset
LocalDateTime

Number2Text
TimeZoneOffset

UTCDateTime
UTCNow


DSTOffset

Υπολογίζει την πρόσθετη μετατόπιση της θερινής ώρας (DST), σε λεπτά, που ισχύει για μια δεδομένη περιοχή και ζώνη ώρας.

Σύνταξη:

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

Παράμετροι:

localdatetime: η τοπική ημερομηνία και ώρα που εκφράζονται ως ημερομηνία.

timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η μετατόπιση.

locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η μετατόπιση, που δίνεται είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.

Παράδειγμα:

Σε Basic

      ' Υπολογίζει τη μετατόπιση που ισχύει στη ζώνη ώρας "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 (λεπτά)
      aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
      offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (λεπτά)
    
Σε Python

      import datetime
      aDateTime = datetime.datetime(2022, 7, 1, 16, 0, 0)
      offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 60 (λεπτά)
      aDateTime = datetime.datetime(2022, 1, 1, 16, 0, 0)
      offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (λεπτά)
    

LocalDateTime

Υπολογίζει την τοπική ημερομηνία και ώρα από μια ημερομηνία και ώρα UTC.

Σύνταξη:

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

Παράμετροι:

utcdatetime: η ημερομηνία και ώρα UTC, που εκφράζονται χρησιμοποιώντας ένα αντικείμενο ημερομηνίας.

timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η τοπική ώρα.

locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η τοπική ώρα, είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.

Παράδειγμα:

Σε Basic

      ' 6 Ιουνίου 2022 στις 10:30:45 (χρησιμοποιείται εδώ ως ώρα UTC)
      Dim UTCTime As Date, localTime As Date
      UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
      Υπολογίζει την τοπική ώρα στο Σάο Πάολο της Βραζιλίας
      ' 6 Ιουνίου 2022 στις 07:30:45
      localTime = oRegion.LocalDateTime(UTCTime, "America/Sao_Paulo", "BR")
    
Σε Python

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

Number2Text

Μετατρέπει αριθμούς και χρηματικές αξίες σε γραπτό κείμενο για οποιαδήποτε από τις επί του παρόντος υποστηριζόμενες γλώσσες.

tip

Για έναν κατάλογο με όλες τις υποστηριζόμενες γλώσσες, επισκεφθείτε την αναφορά του API XNumberText Interface.


Σύνταξη:

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

Παράμετροι:

number: ο αριθμός που θα μετατραπεί σε γραπτό κείμενο. Μπορεί να παρέχεται είτε ως αριθμητικός τύπος, είτε ως συμβολοσειρά. Όταν παρέχεται μια συμβολοσειρά, μπορεί να προηγείται ένα πρόθεμα που ενημερώνει πώς πρέπει να γράφονται οι αριθμοί. Είναι επίσης δυνατό να συμπεριληφθούν κωδικοί νομισμάτων ISO 4217. Δείτε παραδείγματα παρακάτω για περισσότερες πληροφορίες.

locale: η τοπική ρύθμιση που ορίζει τη γλώσσα στην οποία θα μετατραπεί ο αριθμός, δίνεται είτε σε μορφή "la-CO", ή "la". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.

Παράδειγμα:

Σε Basic

      Επιστρέφει "εκατόν πέντε"
      Dim numText As String
      numText = oRegion.Number2Text(105, "en-US")
      Επιστρέφει: "δύο κόμμα τέσσερα δύο"
      numText = oRegion.Number2Text(2.42, "en-US")
      Επιστροφές: "είκοσι πέντε ευρώ και δέκα λεπτά" Προσέξτε το σύμβολο νομίσματος "EUR"
      numText = oRegion.Number2Text("EUR 25.10", "en-US")
      Επιστρέφει: "δεκαπέντε"; Προσέξτε το "τακτικό" πρόθεμα
      numText = oRegion.Number2Text("ordinal 15", "en-US")
    
Σε 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")
    

Για να λάβετε έναν κατάλογο με όλα τα υποστηριζόμενα προθέματα σε μια δεδομένη γλώσσα, καλέστε το Number2Text με το ειδικό όρισμα "help". Στο παρακάτω παράδειγμα, ας υποθέσουμε ότι η τοπική σας ρύθμιση έχει οριστεί σε "en-US", τότε ο κατάλογος με τα διαθέσιμα προθέματα για "en-US" θα εμφανιστεί από το 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
    

Η πρώτη γραμμή στο πλαίσιο μηνύματος δεν έχει πρόθεμα, πράγμα που σημαίνει ότι είναι η τυπική μορφή. Οι επόμενες γραμμές περιλαμβάνουν το πρόθεμα και μερικά παραδείγματα αριθμών που χρησιμοποιούν τη μορφή του.

note

Κάθε γλώσσα έχει το δικό της σύνολο υποστηριζόμενων προθεμάτων. Ο αριθμός των διαθέσιμων προθεμάτων μπορεί να διαφέρει από γλώσσα σε γλώσσα.


Για τη λήψη του καταλόγου προθεμάτων για μια συγκεκριμένη γλώσσα ή τοπική ρύθμιση, μπορεί να οριστεί ως το δεύτερο όρισμα στο Number2Text. Το παρακάτω παράδειγμα δείχνει τα διαθέσιμα προθέματα που είναι διαθέσιμα για την τοπική ρύθμιση "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

Επιστρέφει τη μετατόπιση μεταξύ GMT και της δεδομένης ζώνης ώρας και τοπικής ρύθμισης, σε λεπτά.

Σύνταξη:

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

Παράμετροι:

timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η μετατόπιση στο GMT.

locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η μετατόπιση, που δίνεται είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.

Παράδειγμα:

Σε Basic

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

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

UTCDateTime

Επιστρέφει την ημερομηνία και ώρα UTC λαμβάνοντας υπόψη μια δεδομένη τοπική ημερομηνία και ώρα σε μια ζώνη ώρας.

Σύνταξη:

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

Παράμετροι:

localdatetime: η τοπική ημερομηνία και ώρα σε μια συγκεκριμένη ζώνη ώρας που εκφράζεται ως ημερομηνία.

timezone: η ζώνη ώρας για την οποία δόθηκε το όρισμα localdatetime.

locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία δόθηκε το όρισμα localdatetime, εκφρασμένο είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.

Παράδειγμα:

Σε Basic

      ' Ημερομηνία/Ώρα στο Βερολίνο, 23 Ιουνίου 2022 στις 14:30:00
      Dim localDT As Date, utcTime As Date
      localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
      ' Η ημερομηνία/ώρα UTC είναι 23 Ιουνίου 2022 στις 12:30:00
      utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")
    
Σε Python

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

UTCNow

Επιστρέφει την τρέχουσα ημερομηνία και ώρα UTC, δεδομένης ζώνης ώρας και τοπικής ρύθμισης.

Αυτή η μέθοδος χρησιμοποιεί την τρέχουσα ημερομηνία και ώρα του λειτουργικού σας συστήματος για να υπολογίσει την ώρα UTC.

Σύνταξη:

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

Παράμετροι:

timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η τρέχουσα ώρα UTC.

locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η τρέχουσα ώρα UTC, είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.

Παράδειγμα:

Σε Basic

      ' Ας υποθέσουμε ότι ο χρόνος του λειτουργικού συστήματος είναι 23 Ιουνίου 2022 στις 10:42:00
      ' Εάν ο υπολογιστής βρίσκεται στην Ευρώπη/Βερολίνο, τότε η ώρα UTC είναι 23 Ιουνίου 2022 στις 08:42:00
      Dim utcTime As Date
      utcTime = oRegion.UTCNow("Europe/Berlin", "DE")
    
Σε Python

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

Παρακαλούμε, υποστηρίξτε μας!