Περιεχόμενα

# Υπηρεσία ScriptForge.Region

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

- Πρόσβαση σε τοπικές ρυθμίσεις και ρυθμίσεις που εξαρτώνται από την περιοχή, όπως η μορφοποίηση αριθμών, το νόμισμα και οι ζώνες χρόνου.

- Μετατροπή ζωνών χρόνου και υπολογισμός αλλαγών θερινής ώρας (DST).

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

## Ορισμοί

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

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

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

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

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

### Ζώνη χρόνου

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

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

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

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

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

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

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

• Οι μακροεντολές 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

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

Για έναν κατάλογο με όλες τις υποστηριζόμενες γλώσσες, επισκεφθείτε την αναφορά του 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

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

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

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

Σχετικά θέματα

ΥπηρεσίαScriptForge.Platform