LibreOffice 24.8 Βοήθεια
Η υπηρεσία 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 και Python δημιουργούν την υπηρεσία Region και έχουν πρόσβαση στην ιδιότητα Country.
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim oRegion As Variant
    oRegion = CreateScriptService("Region")
    MsgBox oRegion.Country("en-US") ' Ηνωμένες Πολιτείες
  
    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" | Επιστρέφει το όνομα της χώρας στα αγγλικά που αντιστοιχεί σε μια δεδομένη περιοχή. | 
| Currency | Ναι | String | "la-CO" | Επιστρέφει τον κωδικό νομίσματος ISO 4217 της καθορισμένης περιοχής. | 
| DatePatterns | Ναι | Πίνακας συμβολοσειρών | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τα μοτίβα αποδοχής ημερομηνίας για την καθορισμένη περιοχή. | 
| DateSeparator | Ναι | String | "la-CO" | Επιστρέφει το διαχωριστικό ημερομηνιών που χρησιμοποιείται στη δεδομένη περιοχή. | 
| DayAbbrevNames | Ναι | Πίνακας συμβολοσειρών | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο των συντομευμένων ονομάτων καθημερινών ημερών στην καθορισμένη γλώσσα. | 
| DayNames | Ναι | Πίνακας συμβολοσειρών | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα ονόματα των ημερών της εβδομάδας στην καθορισμένη γλώσσα. | 
| DayNarrowNames | Ναι | Πίνακας συμβολοσειράς | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα αρχικά των ονομάτων της εβδομάδας στην καθορισμένη γλώσσα. | 
| DecimalPoint | Ναι | String | "la-CO" | Επιστρέφει το διαχωριστικό δεκαδικών που χρησιμοποιείται σε αριθμούς στην καθορισμένη περιοχή. | 
| Language | Ναι | String | "la-CO" | Επιστρέφει το όνομα της γλώσσας, στα Αγγλικά, της καθορισμένης περιοχής. | 
| ListSeparator | Ναι | String | "la-CO" | Επιστρέφει το διαχωριστικό καταλόγου που χρησιμοποιείται στην καθορισμένη περιοχή. | 
| MonthAbbrevNames | Ναι | Πίνακας γραμματοσειράς | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο των συντομευμένων ονομάτων μηνών στην καθορισμένη γλώσσα. | 
| MonthNames | Ναι | Πίνακας συμβολοσειρών | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα ονόματα των μηνών στην καθορισμένη γλώσσα. | 
| MonthNarrowNames | Ναι | Πίνακας συμβολοσειράς | "la-CO" | Επιστρέφει έναν πίνακα συμβολοσειρών με βάση το μηδέν που περιέχει τον κατάλογο με τα αρχικά των ονομάτων των μηνών στην καθορισμένη γλώσσα. | 
| ThousandSeparator | Ναι | String | "la-CO" | Επιστρέφει το διαχωριστικό χιλιάδων που χρησιμοποιείται σε αριθμούς στην καθορισμένη περιοχή. | 
| TimeSeparator | Ναι | String | "la-CO" | Επιστρέφει το διαχωριστικό που χρησιμοποιείται για τη μορφοποίηση των χρόνων στην καθορισμένη περιοχή. | 
| Κατάλογος Μεθόδων στην Υπηρεσία Region | ||
|---|---|---|
Υπολογίζει την πρόσθετη μετατόπιση της θερινής ώρας (DST), σε λεπτά, που ισχύει για μια δεδομένη περιοχή και ζώνη ώρας.
svc.DSTOffset(localdatetime: date, timezone: str, opt locale: str): int
localdatetime: η τοπική ημερομηνία και ώρα που εκφράζονται ως ημερομηνία.
timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η μετατόπιση.
locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η μετατόπιση, που δίνεται είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.
      ' Υπολογίζει τη μετατόπιση που ισχύει στη ζώνη ώρας "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 (λεπτά)
    
      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 (λεπτά)
    Υπολογίζει την τοπική ημερομηνία και ώρα από μια ημερομηνία και ώρα UTC.
svc.LocalDateTime(utcdatetime: date, timezone: str, opt locale: str): date
utcdatetime: η ημερομηνία και ώρα UTC, που εκφράζονται χρησιμοποιώντας ένα αντικείμενο ημερομηνίας.
timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η τοπική ώρα.
locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η τοπική ώρα, είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.
      ' 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")
    
      import datetime
      utcTime = datetime.datetime(2022, 6, 23, 10, 30, 45)
      localTime = oRegion.LocalDateTime(utcTime, "America/Sao_Paulo", "BR")
    Μετατρέπει αριθμούς και χρηματικές αξίες σε γραπτό κείμενο για οποιαδήποτε από τις επί του παρόντος υποστηριζόμενες γλώσσες.
Για έναν κατάλογο με όλες τις υποστηριζόμενες γλώσσες, επισκεφθείτε την αναφορά του API XNumberText Interface.
svc.Number2Text(number: any, opt locale: str): str
number: ο αριθμός που θα μετατραπεί σε γραπτό κείμενο. Μπορεί να παρέχεται είτε ως αριθμητικός τύπος, είτε ως συμβολοσειρά. Όταν παρέχεται μια συμβολοσειρά, μπορεί να προηγείται ένα πρόθεμα που ενημερώνει πώς πρέπει να γράφονται οι αριθμοί. Είναι επίσης δυνατό να συμπεριληφθούν κωδικοί νομισμάτων ISO 4217. Δείτε παραδείγματα παρακάτω για περισσότερες πληροφορίες.
locale: η τοπική ρύθμιση που ορίζει τη γλώσσα στην οποία θα μετατραπεί ο αριθμός, δίνεται είτε σε μορφή "la-CO", ή "la". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.
      Επιστρέφει "εκατόν πέντε"
      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")
    
      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.º
    Επιστρέφει τη μετατόπιση μεταξύ GMT και της δεδομένης ζώνης ώρας και τοπικής ρύθμισης, σε λεπτά.
svc.TimeZoneOffset(timezone: str, opt locale: str): int
timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η μετατόπιση στο GMT.
locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η μετατόπιση, που δίνεται είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.
      Dim offset As Integer
      offset = oRegion.TimeZoneOffset("America/New_York", "US") ' -300
      offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") ' 60
    
      offset = oRegion.TimeZoneOffset("America/New_York", "US") # -300
      offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") # 60
    Επιστρέφει την ημερομηνία και ώρα UTC λαμβάνοντας υπόψη μια δεδομένη τοπική ημερομηνία και ώρα σε μια ζώνη ώρας.
svc.UTCDateTime(localdatetime: date, timezone: str, opt locale: str): date
localdatetime: η τοπική ημερομηνία και ώρα σε μια συγκεκριμένη ζώνη ώρας που εκφράζεται ως ημερομηνία.
timezone: η ζώνη ώρας για την οποία δόθηκε το όρισμα localdatetime.
locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία δόθηκε το όρισμα localdatetime, εκφρασμένο είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.
      ' Ημερομηνία/Ώρα στο Βερολίνο, 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")
    
      import datetime
      localDT = datetime.datetime(2022, 6, 23, 14, 30, 0)
      utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")
    Επιστρέφει την τρέχουσα ημερομηνία και ώρα UTC, δεδομένης ζώνης ώρας και τοπικής ρύθμισης.
Αυτή η μέθοδος χρησιμοποιεί την τρέχουσα ημερομηνία και ώρα του λειτουργικού σας συστήματος για να υπολογίσει την ώρα UTC.
svc.UTCNow(timezone: str, opt locale: str): date
timezone: η ζώνη ώρας για την οποία θα υπολογιστεί η τρέχουσα ώρα UTC.
locale: η τοπική ρύθμιση που καθορίζει τη χώρα για την οποία θα υπολογιστεί η τρέχουσα ώρα UTC, είτε σε μορφές "la-CO" ή "CO". Η προεπιλεγμένη τιμή είναι η τοπική ρύθμιση που ορίζεται στην ιδιότητα OfficeLocale της υπηρεσίας Platform.
      ' Ας υποθέσουμε ότι ο χρόνος του λειτουργικού συστήματος είναι 23 Ιουνίου 2022 στις 10:42:00
      ' Εάν ο υπολογιστής βρίσκεται στην Ευρώπη/Βερολίνο, τότε η ώρα UTC είναι 23 Ιουνίου 2022 στις 08:42:00
      Dim utcTime As Date
      utcTime = oRegion.UTCNow("Europe/Berlin", "DE")
    
      utcTime = oRegion.UTCNow("Europe/Berlin", "DE")