"time" --- Πρόσβαση και μετατροπές χρόνου
*****************************************

======================================================================

Αυτό το module παρέχει διάφορες συναρτήσεις σχετικές με τον χρόνο. Για
σχετική λειτουργικότητα, δείτε επίσης τα modules "datetime" και
"calendar".

Αν και αυτό το module είναι πάντα διαθέσιμο, δεν είναι όλες οι
συναρτήσεις διαθέσιμες σε όλες τις πλατφόρμες. Οι περισσότερες από τις
συναρτήσεις που ορίζονται σε αυτό το module καλούν συναρτήσεις της
πλατφόρμας C με το ίδιο όνομα. Μπορεί μερικές φορές να είναι χρήσιμο
να συμβουλευτείτε την τεκμηρίωση της πλατφόρμας, επειδή η σημασιολογία
αυτών των συναρτήσεων διαφέρει μεταξύ των πλατφορμών.

Απαιτείται μια εξήγηση ορισμένης ορολογίας και συμβάσεων.

* Το *epoch* είναι το σημείο όπου ξεκινά ο χρόνος, η τιμή που
  επιστρέφει το "time.gmtime(0)". Είναι η 1η Ιανουαρίου 1970, 00:00:00
  (UTC) σε όλες τις πλατφόρμες.

* Ο όρος *seconds since the epoch* αναφέρεται στον συνολικό αριθμό των
  δευτερολέπτων που έχουν παρέλθει από το epoch, συνήθως εξαιρώντας τα
  leap seconds. Τα δίσεκτα δευτερόλεπτα (leap seconds) εξαιρούνται από
  αυτό το σύνολο σε όλες τις πλατφόρμες που συμμορφώνονται με το
  POSIX.

* Οι συναρτήσεις σε αυτό το module μπορεί να μην χειρίζονται
  ημερομηνίες και ώρες πριν από το epoch ή πολύ μακριά στο μέλλον. Το
  σημείο κοπής στο μέλλον καθορίζεται από τη βιβλιοθήκη C· για
  συστήματα 32-bit, είναι τυπικά το 2038.

* Η συνάρτηση "strptime()" μπορεί να αναλύσει 2-ψήφια έτη όταν δοθεί
  κωδικός μορφής "%y". Όταν αναλύονται 2-ψήφια έτη, μετατρέπονται
  σύμφωνα με τα πρότυπα POSIX και ISO C: οι τιμές 69--99
  αντιστοιχίζονται σε 1969--1999, και οι τιμές 0--68 αντιστοιχίζονται
  σε2000--2068.

* Το UTC είναι το Coordinated Universal Time και έχει αντικαταστήσει
  το Greenwich Mean Time ή GMT ως τη βάση της διεθνούς τήρησης χρόνου.
  Το ακρωνύμιο UTC δεν είναι λάθος αλλά συμμορφώνεται με ένα
  προηγούμενο, ουδέτερο ως προς τη γλώσσα, σχήμα ονομασίας για πρότυπα
  χρόνου όπως τα UT0, UT1, και UT2.

* Το DST είναι το Daylight Saving Time, μια προσαρμογή της ζώνης ώρας
  κατά (συνήθως) μία ώρα κατά τη διάρκεια μέρους του έτους. Οι κανόνες
  DST είναι μαγικοί (καθορίζονται από τοπικό νόμο) και μπορεί να
  αλλάζουν από έτος σε έτος. Η βιβλιοθήκη C έχει έναν πίνακα που
  περιέχει τους τοπικούς κανόνες (συχνά διαβάζεται από ένα σύστημα
  αρχείων για ευελιξία) και είναι η μόνη πηγή Αληθινής Σοφίας σε αυτό
  το θέμα.

* Η ακρίβεια των διαφόρων συναρτήσεων πραγματικού χρόνου μπορεί να
  είναι λιγότερη από αυτή που υποδηλώνεται από τις μονάδες στις οποίες
  εκφράζεται η τιμή ή το όρισμά τους. Π.χ. στα περισσότερα συστήματα
  Unix, το ρολόι "χτυπάει" μόνο 50 ή 100 φορές το δευτερόλεπτο.

* Από την άλλη πλευρά, η ακρίβεια της "time()" και της "sleep()" είναι
  πιο καλή από τις αντίστοιχες Unix: οι χρόνοι εκφράζονται ως αριθμοί
  κινητής υποδιαστολής, η "time()" επιστρέφει τον πιο ακριβή διαθέσιμο
  χρόνο (χρησιμοποιώντας το Unix "gettimeofday()" όπου είναι
  διαθέσιμο), και "sleep()" θα δεχτεί έναν χρόνο με μη μηδενικό κλάσμα
  (το Unix :c:"select()" χρησιμοποιείται για αυτόν τον λόγο, όπου
  είναι διαθέσιμο).

* Η τιμή χρόνου όπως επιστρέφεται από τις "gmtime()", "localtime()",
  και "strptime()", και γίνεται αποδεκτή από τις "asctime()",
  "mktime()" και "strftime()", είναι μια ακολουθία από 9 ακέραιους. Οι
  τιμές επιστροφής των "gmtime()", "localtime()", και "strptime()"
  προσφέρουν επίσης ονόματα χαρακτηριστικών για μεμονωμένα πεδία.

  Δείτε την "struct_time" για μια περιγραφή αυτών των αντικειμένων.

  Άλλαξε στην έκδοση 3.3: Ο τύπος "struct_time" επεκτάθηκε για να
  παρέχει τα "tm_gmtoff" και "tm_zone" χαρακτηριστικά όταν η πλατφόρμα
  υποστηρίζει τα αντίστοιχα μέλη "struct tm".

  Άλλαξε στην έκδοση 3.6: Τα "struct_time" χαρακτηριστικά "tm_gmtoff"
  και "tm_zone" είναι τώρα διαθέσιμα σε όλες τις πλατφόρμες.

* Χρησιμοποιήστε τις ακόλουθες συναρτήσεις για να μετατρέψετε μεταξύ
  αναπαραστάσεων χρόνου:

  +---------------------------+---------------------------+---------------------------+
  | Από                       | Προς                      | Χρήση                     |
  |===========================|===========================|===========================|
  | δευτερόλεπτα από το epoch | "struct_time" σε UTC      | "gmtime()"                |
  +---------------------------+---------------------------+---------------------------+
  | δευτερόλεπτα από το epoch | "struct_time" σε τοπική   | "localtime()"             |
  |                           | ώρα                       |                           |
  +---------------------------+---------------------------+---------------------------+
  | "struct_time" σε UTC      | δευτερόλεπτα από το epoch | "calendar.timegm()"       |
  +---------------------------+---------------------------+---------------------------+
  | "struct_time" σε τοπική   | δευτερόλεπτα από το epoch | "mktime()"                |
  | ώρα                       |                           |                           |
  +---------------------------+---------------------------+---------------------------+


Συναρτήσεις
===========

time.asctime([t])

   Μετατρέπει μια πλειάδα ή "struct_time" που αναπαριστά έναν χρόνο
   όπως επιστρέφεται από τις "gmtime()" ή "localtime()" σε μια
   συμβολοσειρά της ακόλουθης μορφής: "'Sun Jun 20 23:21:05 1993'". Το
   πεδίο της ημέρας είναι δύο χαρακτήρων και γεμίζεται με κενό αν η
   ημέρα είναι μονοψήφια, π.χ.: "'Wed Jun  9 04:26:40 1993'".

   Αν το *t* δεν παρέχεται, χρησιμοποιείται ο τρέχων χρόνος όπως
   επιστρέφεται από την "localtime()". Οι πληροφορίες τοπικής ρύθμισης
   δεν χρησιμοποιούνται από την "asctime()".

   Σημείωση:

     Σε αντίθεση με τη συνάρτηση C με το ίδιο όνομα, η "asctime()" δεν
     προσθέτει μια νέα γραμμή στο τέλος.

time.pthread_getcpuclockid(thread_id)

   Επιστρέφει το *clk_id* του ρολογιού χρόνου CPU που είναι
   συγκεκριμένο για το νήμα, για το καθορισμένο  *thread_id*.

   Χρησιμοποιήστε το "threading.get_ident()" ή το "ident"
   χαρακτηριστικό των αντικειμένων "threading.Thread" για να λάβετε
   μια κατάλληλη τιμή για το *thread_id*.

   Προειδοποίηση:

     Η μετάδοση ενός μη έγκυρου ή ληγμένου *thread_id* μπορεί να έχει
     ως αποτέλεσμα μη ορισμένη συμπεριφορά, όπως σφάλμα
     τμηματοποίησης.

   Διαθεσιμότητα: Unix

   Δείτε τη σελίδα του εγχειριδίου για το *pthread_getcpuclockid(3)*
   για περαιτέρω πληροφορίες.

   Added in version 3.7.

time.clock_getres(clk_id)

   Επιστρέφει την ανάλυση (ακρίβεια) του συγκεκριμένου ρολογιού
   *clk_id*. Ανατρέξτε στο Σταθερές αναγνωριστικού ρολογιού για μια
   λίστα αποδεκτών τιμών για *clk_id*.

   Διαθεσιμότητα: Unix.

   Added in version 3.3.

time.clock_gettime(clk_id) -> float

   Επιστρέφει τον χρόνο του συγκεκριμένου ρολογιού *clk_id*. Ανατρέξτε
   στο Σταθερές αναγνωριστικού ρολογιού για μια λίστα αποδεκτών τιμών
   για *clk_id*.

   Χρησιμοποιήστε την "clock_gettime_ns()" για να αποφύγετε την
   απώλεια ακρίβειας που προκαλείται από τον τύπο "float".

   Διαθεσιμότητα: Unix.

   Added in version 3.3.

time.clock_gettime_ns(clk_id) -> int

   Παρόμοιο με την "clock_gettime()" αλλά επιστρέφει τον χρόνο σε
   νανοδευτερόλεπτα.

   Διαθεσιμότητα: Unix.

   Added in version 3.7.

time.clock_settime(clk_id, time: float)

   Ορίζει τον χρόνο του συγκεκριμένου ρολογιού *clk_id*. Επί του
   παρόντος, το "CLOCK_REALTIME" είναι η μόνη αποδεκτή τιμή για το
   *clk_id*.

   Χρησιμοποιήστε την "clock_settime_ns()" για να αποφύγετε την
   απώλεια ακρίβειας που προκαλείται από τον τύπο "float".

   Διαθεσιμότητα: Unix, not Android, not iOS.

   Added in version 3.3.

time.clock_settime_ns(clk_id, time: int)

   Παρόμοιο με την "clock_settime()" αλλά ορίζει τον χρόνο με
   νανοδευτερόλεπτα.

   Διαθεσιμότητα: Unix, not Android, not iOS.

   Added in version 3.7.

time.ctime([secs])

   Μετατρέπει έναν χρόνο εκφρασμένο σε δευτερόλεπτα από το epoch σε
   μια συμβολοσειρά της μορφής: "'Sun Jun 20 23:21:05 1993'" που
   αναπαριστά την τοπική ώρα. Το πεδίο της ημέρας είναι δύο χαρακτήρων
   και γεμίζεται με κενό αν η ημέρα είναι μονοψήφια, π.χ.: "'Wed Jun
   9 04:26:40 1993'".

   Αν το *secs* δεν παρέχεται ή είναι "None", χρησιμοποιείται ο τρέχων
   χρόνος όπως επιστρέφεται από την "time()". Το "ctime(secs)" είναι
   ισοδύναμο με το "asctime(localtime(secs))". Οι πληροφορίες τοπικής
   ρύθμισης δεν χρησιμοποιούνται από την "ctime()".

time.get_clock_info(name)

   Λάβετε πληροφορίες για το συγκεκριμένο ρολόι ως αντικείμενο χώρου
   ονομάτων. Τα υποστηριζόμενα ονόματα ρολογιών και οι αντίστοιχες
   συναρτήσεις για την ανάγνωση της τιμής τους είναι:

   * "'monotonic'": "time.monotonic()"

   * "'perf_counter'": "time.perf_counter()"

   * "'process_time'": "time.process_time()"

   * "'thread_time'": "time.thread_time()"

   * "'time'": "time.time()"

   Το αποτέλεσμα έχει τα ακόλουθα χαρακτηριστικά:

   * *adjustable*: "True" αν το ρολόι μπορεί να ρυθμιστεί να πηδήξει
     μπροστά ή πίσω στον χρόνο, διαφορετικά "False". Δεν αναφέρεται σε
     σταδιακές NTP ρυθμίσεις ρυθμού.

   * *implementation*: Το όνομα της υποκείμενης συνάρτησης C που
     χρησιμοποιείται για να λάβει την τιμή του ρολογιού. Ανατρέξτε στο
     Σταθερές αναγνωριστικού ρολογιού για πιθανές τιμές.

   * *monotonic*: "True" αν το ρολόι δεν μπορεί να πάει πίσω,
     διαφορετικά "False"

   * *resolution*: Η ανάλυση του ρολογιού σε δευτερόλεπτα ("float")

   Added in version 3.3.

time.gmtime([secs])

   Μετατρέπει έναν χρόνο εκφρασμένο σε δευτερόλεπτα από το epoch σε
   μια "struct_time" σε UTC στην οποία η σημαία dst είναι πάντα μηδέν.
   Αν το *secs* δεν παρέχεται ή είναι "None", χρησιμοποιείται ο τρέχων
   χρόνος όπως επιστρέφεται από την "time()". Τα κλάσματα του
   δευτερολέπτου αγνοούνται. Δείτε παραπάνω για μια περιγραφή του
   αντικειμένου "struct_time". Δείτε την "calendar.timegm()" για την
   αντίστροφη αυτής της συνάρτησης.

time.localtime([secs])

   Όπως η "gmtime()" αλλά μετατρέπει σε τοπική ώρα. Αν το *secs* δεν
   παρέχεται ή είναι "None", χρησιμοποιείται ο τρέχων χρόνος όπως
   επιστρέφεται από την "time()". Η σημαία dst ορίζεται σε "1" όταν το
   DST ισχύει για τον δεδομένο χρόνο.

   "localtime()" μπορεί να κάνει raise "OverflowError", αν η χρονική
   σφραγίδα είναι εκτός του εύρους τιμών που υποστηρίζονται από τις
   πλατφόρμες C "localtime()" ή "gmtime()" συναρτήσεις, και "OSError"
   σε "localtime()" ή "gmtime()" αποτυχία. Είναι κοινό αυτό να
   περιορίζεται σε έτη μεταξύ 1970 και 2038.

time.mktime(t)

   Αυτή είναι η αντίστροφη συνάρτηση της "localtime()". Το όρισμά της
   είναι η "struct_time" ή πλήρης 9-πλειάδα (καθώς η σημαία dst είναι
   απαραίτητη· χρησιμοποιήστε "-1" ως σημαία dst αν είναι άγνωστη) που
   εκφράζει τον χρόνο σε *τοπική* ώρα, όχι σε UTC. Επιστρέφει έναν
   αριθμό κινητής υποδιαστολής, για συμβατότητα με την "time()". Αν η
   τιμή εισόδου δεν μπορεί να αναπαρασταθεί ως έγκυρος χρόνος, είτε
   "OverflowError" είτε "ValueError" θα γίνει raise (που εξαρτάται από
   το αν η μη έγκυρη τιμή πιαστεί από την Python ή τις υποκείμενες C
   βιβλιοθήκες). Η πιο πρώιμη ημερομηνία για την οποία μπορεί να
   δημιουργήσει έναν χρόνο εξαρτάται από την πλατφόρμα.

time.monotonic() -> float

   Επιστρέφει την τιμή (σε κλασματικά δευτερόλεπτα) ενός μονότονου
   ρολογιού, δηλαδή ενός ρολογιού που δεν μπορεί να πάει πίσω. Το
   ρολόι δεν επηρεάζεται από ενημερώσεις του συστήματος ρολογιού. Το
   σημείο αναφοράς της επιστρεφόμενης τιμής είναι απροσδιόριστο, έτσι
   ώστε μόνο η διαφορά μεταξύ των αποτελεσμάτων δύο κλήσεων να είναι
   έγκυρη.

   Ρολόι:

   * Στα Windows, καλέστε τα "QueryPerformanceCounter()" και
     "QueryPerformanceFrequency()".

   * Στο macOS, καλέστε τα "mach_absolute_time()" και
     "mach_timebase_info()".

   * Στο HP-UX, καλέστε το "gethrtime()".

   * Καλέστε το "clock_gettime(CLOCK_HIGHRES)" αν είναι διαθέσιμο.

   * Αλλιώς, καλέστε το "clock_gettime(CLOCK_MONOTONIC)".

   Χρησιμοποιήστε την "monotonic_ns()" για να αποφύγετε την απώλεια
   ακρίβειας που προκαλείται από τον τύπο "float".

   Added in version 3.3.

   Άλλαξε στην έκδοση 3.5: Η συνάρτηση είναι τώρα πάντα διαθέσιμη και
   το ρολόι είναι τώρα ίδιο για όλες τις διαδικασίες.

   Άλλαξε στην έκδοση 3.10: Στο macOS, το ρολόι είναι τώρα ίδιο για
   όλες τις διαδικασίες.

time.monotonic_ns() -> int

   Παρόμοιο με την "monotonic()", αλλά επιστρέφει τον χρόνο σε
   νανοδευτερόλεπτα.

   Added in version 3.7.

time.perf_counter() -> float

   Επιστρέφει την τιμή (σε κλασματικά δευτερόλεπτα) ενός μετρητή
   απόδοσης, δηλαδή ενός ρολογιού με την υψηλότερη διαθέσιμη ανάλυση
   για τη μέτρηση μιας σύντομης διάρκειας. Περιλαμβάνει τον χρόνο που
   πέρασε κατά τη διάρκεια του ύπνου. Το ρολόι είναι το ίδιο για όλες
   τις διαδικασίες. Το σημείο αναφοράς της επιστρεφόμενης τιμής είναι
   απροσδιόριστο, έτσι ώστε μόνο η διαφορά μεταξύ των αποτελεσμάτων
   δύο κλήσεων να είναι έγκυρη.

   Στο CPython, χρησιμοποιεί το ίδιο ρολόι με την "time.monotonic()"
   και είναι ένα μονότονο ρολόι, δηλαδή ένα ρολόι που δεν μπορεί να
   πάει πίσω.

   Χρησιμοποιήστε την "perf_counter_ns()" για να αποφύγετε την απώλεια
   ακρίβειας που προκαλείται από τον τύπο "float".

   Added in version 3.3.

   Άλλαξε στην έκδοση 3.10: Στα Windows, το ρολόι είναι τώρα ίδιο για
   όλες τις διαδικασίες.

   Άλλαξε στην έκδοση 3.13: Χρησιμοποιεί το ίδιο ρολόι με την
   "time.monotonic()".

time.perf_counter_ns() -> int

   Παρόμοιο με την "perf_counter()", αλλά επιστρέφει τον χρόνο σε
   νανοδευτερόλεπτα.

   Added in version 3.7.

time.process_time() -> float

   Επιστρέφει την τιμή (σε κλασματικά δευτερόλεπτα) του αθροίσματος
   του συστήματος και του χρήστη CPU χρόνου της τρέχουσας διαδικασίας.
   Δεν περιλαμβάνει τον χρόνο που πέρασε κατά τη διάρκεια του ύπνου.
   Είναι σε επίπεδο διαδικασίας από τον ορισμό. Το σημείο αναφοράς της
   επιστρεφόμενης τιμής είναι απροσδιόριστο, έτσι ώστε μόνο η διαφορά
   μεταξύ των αποτελεσμάτων δύο κλήσεων να είναι έγκυρη.

   Χρησιμοποιήστε την "process_time_ns()" για να αποφύγετε την απώλεια
   ακρίβειας που προκαλείται από τον τύπο "float".

   Added in version 3.3.

time.process_time_ns() -> int

   Παρόμοιο με την "process_time()" αλλά επιστρέφει τον χρόνο σε
   νανοδευτερόλεπτα.

   Added in version 3.7.

time.sleep(secs)

   Αναστέλλει την εκτέλεση του καλούντος νήματος για τον δεδομένο
   αριθμό δευτερολέπτων. Το όρισμα μπορεί να είναι ένας αριθμός
   κινητής υποδιαστολής για να υποδείξει έναν πιο ακριβή χρόνο ύπνου.

   Αν ο ύπνος διακοπεί από ένα σήμα και δεν γίνει raise καμία εξαίρεση
   από τον χειριστή σήματος, ο ύπνος επανεκκινείται με έναν
   επανυπολογισμένο χρόνο λήξης.

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

   -[ Υλοποίηση Windows ]-

   Στα Windows, αν το *secs* είναι μηδέν, το νήμα παραχωρεί το
   υπόλοιπο του χρόνου του σε οποιοδήποτε άλλο νήμα είναι έτοιμο να
   εκτελεστεί. Αν δεν υπάρχουν άλλα νήματα έτοιμα να εκτελεστούν, η
   συνάρτηση επιστρέφει αμέσως και το νήμα συνεχίζει την εκτέλεση. Στα
   Windows 10 και νεότερα, η υλοποίηση χρησιμοποιεί έναν χρονιστή
   υψηλής ακρίβειας που παρέχει ανάλυση των 100 νανοδευτερολέπτων. Αν
   το *secs* είναι μηδέν, χρησιμοποιείται το "Sleep(0)".

   -[ Υλοποίηση Unix ]-

   * Χρησιμοποιήστε το "clock_nanosleep()" αν είναι διαθέσιμο
     (ανάλυση: 1 nanosecond).

   * Ή χρησιμοποιήστε το "nanosleep()" αν είναι διαθέσιμο (ανάλυση: 1
     nanosecond);

   * Ή χρησιμοποιήστε το "select()" (ανάλυση: 1 microsecond).

   Σημείωση:

     Για να μιμηθείτε μια "no-op", χρησιμοποιήστε το "pass" αντί για
     "time.sleep(0)".Για να παραχωρήσετε εκούσια την CPU, καθορίστε
     μια πολιτική scheduling policy σε πραγματικό χρόνο και
     χρησιμοποιήστε την "os.sched_yield()" αντί.

   Κάνει raise ένα auditing event "time.sleep" με όρισμα "secs".

   Άλλαξε στην έκδοση 3.5: Η συνάρτηση τώρα κοιμάται τουλάχιστον
   *secs* ακόμα και αν ο ύπνος διακοπεί από ένα σήμα, εκτός αν ο
   χειριστής σήματος κάνει raise μια εξαίρεση (δείτε το **PEP 475**
   για την αιτιολόγηση).

   Άλλαξε στην έκδοση 3.11: Στο Unix, οι συναρτήσεις
   "clock_nanosleep()" και "nanosleep()" τώρα χρησιμοποιούνται αν
   είναι διαθέσιμες. Στα Windows, τώρα χρησιμοποιείται ένας χρονιστής
   που μπορεί να αναμένει.

   Άλλαξε στην έκδοση 3.13: Κάνει raise ένα auditing event.

time.strftime(format[, t])

   Μετατρέπει μια πλειάδα ή "struct_time" που αναπαριστά έναν χρόνο
   όπως επιστρέφεται από την "gmtime()" ή "localtime()" σε μια
   συμβολοσειρά όπως καθορίζεται από το όρισμα *format*. Αν το *t* δεν
   παρέχεται, χρησιμοποιείται ο τρέχων χρόνος όπως επιστρέφεται από
   την "localtime()". Το *format* πρέπει να είναι μια συμβολοσειρά. Η
   "ValueError" γίνεται raise αν οποιοδήποτε πεδίο στο *t* είναι εκτός
   του επιτρεπτού εύρους.

   0 είναι ένα νόμιμο όρισμα για οποιαδήποτε θέση στην πλειάδα χρόνου·
   αν είναι κανονικά παράνομο, η τιμή αναγκάζεται σε μια σωστή.

   Οι ακόλουθες οδηγίες μπορούν να ενσωματωθούν στη συμβολοσειρά
   *format*. Εμφανίζονται χωρίς την προαιρετική προδιαγραφή πλάτους
   πεδίου και ακρίβειας, και αντικαθίστανται από τους υποδεικνυόμενους
   χαρακτήρες στο αποτέλεσμα της "strftime()":

   +-------------+--------------------------------------------------+---------+
   | Οδηγία      | Σημασία                                          | Σημειώ  |
   |             |                                                  | σεις    |
   |=============|==================================================|=========|
   | "%a"        | Τοπικό συντομογραφημένο όνομα ημέρας της         |         |
   |             | εβδομάδας.                                       |         |
   +-------------+--------------------------------------------------+---------+
   | "%A"        | Τοπικό πλήρες όνομα ημέρας της εβδομάδας.        |         |
   +-------------+--------------------------------------------------+---------+
   | "%b"        | Τοπικό συντομογραφημένο όνομα μήνα.              |         |
   +-------------+--------------------------------------------------+---------+
   | "%B"        | Τοπικό πλήρες όνομα μήνα.                        |         |
   +-------------+--------------------------------------------------+---------+
   | "%c"        | Τοπική κατάλληλη αναπαράσταση ημερομηνίας και    |         |
   |             | ώρας.                                            |         |
   +-------------+--------------------------------------------------+---------+
   | "%d"        | Ημέρα του μήνα ως δεκαδικός αριθμός [01,31].     |         |
   +-------------+--------------------------------------------------+---------+
   | "%f"        | Μικροδευτερόλεπτα ως δεκαδικός αριθμός           | (1)     |
   |             | [000000,999999].                                 |         |
   +-------------+--------------------------------------------------+---------+
   | "%H"        | Ώρα (ρολόι 24 ωρών) ως δεκαδικός αριθμός         |         |
   |             | [00,23].                                         |         |
   +-------------+--------------------------------------------------+---------+
   | "%I"        | Ώρα (ρολόι 12 ωρών) ως δεκαδικός αριθμός         |         |
   |             | [01,12].                                         |         |
   +-------------+--------------------------------------------------+---------+
   | "%j"        | Ημέρα του έτους ως δεκαδικός αριθμός [001,366].  |         |
   +-------------+--------------------------------------------------+---------+
   | "%m"        | Μήνας ως δεκαδικός αριθμός [01,12].              |         |
   +-------------+--------------------------------------------------+---------+
   | "%M"        | Λεπτό ως δεκαδικός αριθμός [00,59].              |         |
   +-------------+--------------------------------------------------+---------+
   | "%p"        | Τοπικό ισοδύναμο είτε του AM είτε του PM.        | (2)     |
   +-------------+--------------------------------------------------+---------+
   | "%S"        | Δευτερόλεπτο ως δεκαδικός αριθμός [00,61].       | (3)     |
   +-------------+--------------------------------------------------+---------+
   | "%U"        | Αριθμός εβδομάδας του έτους (η Κυριακή ως πρώτη  | (4)     |
   |             | ημέρα της εβδομάδας) ως δεκαδικός αριθμός        |         |
   |             | [00,53]. Όλες οι ημέρες σε ένα νέο έτος που      |         |
   |             | προηγούνται της πρώτης Κυριακής θεωρούνται ότι   |         |
   |             | είναι στην εβδομάδα 0.                           |         |
   +-------------+--------------------------------------------------+---------+
   | "%u"        | Ημέρα της εβδομάδας (η Δευτέρα είναι 1· η        |         |
   |             | Κυριακή είναι 7) ως δεκαδικός αριθμός [1, 7].    |         |
   +-------------+--------------------------------------------------+---------+
   | "%w"        | Ημέρα της εβδομάδας ως δεκαδικός αριθμός         |         |
   |             | [0(Κυριακή),6].                                  |         |
   +-------------+--------------------------------------------------+---------+
   | "%W"        | Αριθμός εβδομάδας του έτους (η Δευτέρα ως πρώτη  | (4)     |
   |             | ημέρα της εβδομάδας) ως δεκαδικός αριθμός        |         |
   |             | [00,53]. Όλες οι ημέρες σε ένα νέο έτος που      |         |
   |             | προηγούνται της πρώτης Δευτέρας θεωρούνται ότι   |         |
   |             | είναι στην εβδομάδα 0.                           |         |
   +-------------+--------------------------------------------------+---------+
   | "%x"        | Τοπική κατάλληλη αναπαράσταση ημερομηνίας.       |         |
   +-------------+--------------------------------------------------+---------+
   | "%X"        | Τοπική κατάλληλη αναπαράσταση ώρας.              |         |
   +-------------+--------------------------------------------------+---------+
   | "%y"        | Έτος χωρίς αιώνα ως δεκαδικός αριθμός [00,99].   |         |
   +-------------+--------------------------------------------------+---------+
   | "%Y"        | Έτος με αιώνα ως δεκαδικός αριθμός.              |         |
   +-------------+--------------------------------------------------+---------+
   | "%z"        | Μετατόπιση ζώνης ώρας που υποδεικνύει μια θετική |         |
   |             | ή αρνητική χρονική διαφορά από το UTC/GMT της    |         |
   |             | μορφής +HHMM ή -HHMM, όπου το H αντιπροσωπεύει   |         |
   |             | δεκαδικά ψηφία ώρας και το M αντιπροσωπεύει      |         |
   |             | δεκαδικά ψηφία λεπτών [-23:59, +23:59]. [1]      |         |
   +-------------+--------------------------------------------------+---------+
   | "%Z"        | Όνομα ζώνης ώρας (κανένας χαρακτήρας αν δεν      |         |
   |             | υπάρχει ζώνη ώρας). Απαρχαιωμένο. [1]            |         |
   +-------------+--------------------------------------------------+---------+
   | "%G"        | ISO 8601 έτος (παρόμοιο με το "%Y" αλλά          |         |
   |             | ακολουθεί τους κανόνες για το ISO 8601           |         |
   |             | ημερολογιακό έτος). Το έτος ξεκινά με την        |         |
   |             | εβδομάδα που περιέχει την πρώτη Πέμπτη του       |         |
   |             | ημερολογιακού έτους.                             |         |
   +-------------+--------------------------------------------------+---------+
   | "%V"        | ISO 8601 αριθμός εβδομάδας (ως δεκαδικός αριθμός |         |
   |             | [01,53]). Η πρώτη εβδομάδα του έτους είναι αυτή  |         |
   |             | που περιέχει την πρώτη Πέμπτη του έτους. Οι      |         |
   |             | εβδομάδες ξεκινούν τη Δευτέρα.                   |         |
   +-------------+--------------------------------------------------+---------+
   | "%%"        | Ένας κυριολεκτικός χαρακτήρας "'%'".             |         |
   +-------------+--------------------------------------------------+---------+

   Σημειώσεις:

   1. Η οδηγία μορφοποίησης "%f" εφαρμόζεται μόνο στην "strptime()",
      όχι στην "strftime()". Ωστόσο, δείτε επίσης την
      "datetime.datetime.strptime()" και την
      "datetime.datetime.strftime()" όπου η οδηγία μορφοποίησης "%f"
      εφαρμόζεται στα μικροδευτερόλεπτα.

   2. Όταν χρησιμοποιείται με τη συνάρτηση "strptime()", η οδηγία "%p"
      επηρεάζει μόνο το πεδίο ώρας εξόδου αν η οδηγία "%I"
      χρησιμοποιείται για την ανάλυση της ώρας.

   3. Το εύρος είναι πραγματικά από "0" έως "61"· η τιμή "60" είναι
      έγκυρη σε χρονικές σφραγίδες που αναπαριστούν leap seconds και η
      τιμή "61" υποστηρίζεται για ιστορικούς λόγους.

   4. Όταν χρησιμοποιείται με τη συνάρτηση "strptime()", τα "%U" και
      "%W" χρησιμοποιούνται μόνο σε υπολογισμούς όταν η ημέρα της
      εβδομάδας και το έτος καθορίζονται.

   Εδώ είναι ένα παράδειγμα, μια μορφή για ημερομηνίες συμβατή με αυτή
   που καθορίζεται στο **RFC 5322** πρότυπο ηλεκτρονικού ταχυδρομείου
   Internet. [1]

      >>> from time import gmtime, strftime
      >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
      'Thu, 28 Jun 2001 14:17:15 +0000'

   Πρόσθετες οδηγίες μπορεί να υποστηρίζονται σε ορισμένες πλατφόρμες,
   αλλά μόνο αυτές που αναφέρονται εδώ έχουν μια σημασία που
   τυποποιείται από την ANSI C. Για να δείτε το πλήρες σύνολο κωδικών
   μορφοποίησης που υποστηρίζονται στην πλατφόρμα σας, συμβουλευτείτε
   την τεκμηρίωση *strftime(3)*.

   Σε ορισμένες πλατφόρμες, μια προαιρετική προδιαγραφή πλάτους πεδίου
   και ακρίβειας μπορεί να ακολουθεί αμέσως το αρχικό "'%" μιας
   οδηγίας με την εξής σειρά· αυτό επίσης δεν είναι φορητό. Το πλάτος
   πεδίου είναι κανονικά 2 εκτός από το "%j" όπου είναι 3.

time.strptime(string[, format])

   Ανάλυση μιας συμβολοσειράς που αναπαριστά έναν χρόνο σύμφωνα με μια
   μορφή. Η επιστρεφόμενη τιμή είναι μια "struct_time" όπως
   επιστρέφεται από την "gmtime()" ή την "localtime()".

   Η παράμετρος *format* χρησιμοποιεί τις ίδιες οδηγίες με αυτές που
   χρησιμοποιούνται από την "strftime()"; προεπιλέγεται σε ""%a %b %d
   %H:%M:%S %Y"" που ταιριάζει με τη μορφοποίηση που επιστρέφεται από
   την "ctime()". Αν το *string* δεν μπορεί να αναλυθεί σύμφωνα με το
   *format*, ή αν έχει πλεονάζοντα δεδομένα μετά την ανάλυση, γίνεται
   raise η "ValueError". Οι προεπιλεγμένες τιμές που χρησιμοποιούνται
   για να συμπληρώσουν τυχόν ελλείποντα δεδομένα όταν δεν μπορούν να
   εξαχθούν πιο ακριβείς τιμές είναι "(1900, 1, 1, 0, 0, 0, 0, 1,
   -1)". Τόσο το *string* όσο και το *format* πρέπει να είναι
   συμβολοσειρές.

   Για παράδειγμα:

   >>> import time
   >>> time.strptime("30 Nov 00", "%d %b %y")
   time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0,
                    tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

   Η υποστήριξη για την οδηγία "%Z" βασίζεται στις τιμές που
   περιέχονται στο "tzname" και στο αν το "daylight" είναι αληθές.
   Εξαιτίας αυτού, είναι ειδική για την πλατφόρμα εκτός από την
   αναγνώριση των UTC και GMT που είναι πάντα γνωστά (και θεωρούνται
   ότι δεν είναι ζώνες ώρας θερινής ώρας).

   Μόνο οι οδηγίες που καθορίζονται στην τεκμηρίωση υποστηρίζονται.
   Επειδή η "strftime()" υλοποιείται ανά πλατφόρμα, μπορεί μερικές
   φορές να προσφέρει περισσότερες οδηγίες από αυτές που αναφέρονται.
   Αλλά η "strptime()" είναι ανεξάρτητη από οποιαδήποτε πλατφόρμα και
   ως εκ τούτου δεν υποστηρίζει απαραίτητα όλες τις διαθέσιμες οδηγίες
   που δεν τεκμηριώνονται ως υποστηριζόμενες.

class time.struct_time

   Ο τύπος της ακολουθίας τιμών χρόνου που επιστρέφεται από την
   "gmtime()", "localtime()", και "strptime()". Είναι ένα αντικείμενο
   με μια *named tuple* διεπαφή: οι τιμές μπορούν να προσπελαστεί με
   δείκτη και με όνομα χαρακτηριστικού. Παρουσιάζονται οι ακόλουθες
   τιμές:

   +-----------------------------------+-----------------------------------+-----------------------------------+
   | Δείκτης                           | Χαρακτηριστικό                    | Τιμές                             |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 0                                 | tm_year                           | (για παράδειγμα, 1993)            |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 1                                 | tm_mon                            | εύρος [1, 12]                     |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 2                                 | tm_mday                           | εύρος [1, 31]                     |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 3                                 | tm_hour                           | εύρος [0, 23]                     |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 4                                 | tm_min                            | εύρος [0, 59]                     |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 5                                 | tm_sec                            | range [0, 61]; see Note (2) in    |
   |                                   |                                   | "strftime()"                      |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 6                                 | tm_wday                           | εύρος [0, 6]; η Δευτέρα είναι 0   |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 7                                 | tm_yday                           | εύρος [1, 366]                    |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | 8                                 | tm_isdst                          | 0, 1 ή -1; δείτε παρακάτω         |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | N/A                               | tm_zone                           | συντομογραφία ονόματος ζώνης ώρας |
   +-----------------------------------+-----------------------------------+-----------------------------------+
   | N/A                               | tm_gmtoff                         | μετατόπιση ανατολικά του UTC σε   |
   |                                   |                                   | δευτερόλεπτα                      |
   +-----------------------------------+-----------------------------------+-----------------------------------+

   Σημειώστε ότι σε αντίθεση με τη δομή C, η τιμή του μήνα είναι σε
   εύρος [1, 12], όχι [0, 11].

   Σε κλήσεις στην "mktime()", το "tm_isdst" μπορεί να οριστεί σε 1
   όταν ισχύει η θερινή ώρα, και σε 0 όταν δεν ισχύει. Μια τιμή -1
   υποδεικνύει ότι αυτό δεν είναι γνωστό, και συνήθως θα έχει ως
   αποτέλεσμα τη συμπλήρωση της σωστής κατάστασης.

   Όταν μια πλειάδα με λανθασμένο μήκος περνά σε μια συνάρτηση που
   αναμένει μια "struct_time", ή έχει στοιχεία λάθος τύπου, γίνεται
   raise μια "TypeError".

time.time() -> float

   Επιστρέφει τον χρόνο σε δευτερόλεπτα από την epoch ως αριθμό
   κινητής υποδιαστολής. Η διαχείριση των leap seconds εξαρτάται από
   την πλατφόρμα. Στα Windows και στα περισσότερα συστήματα Unix, τα
   leap seconds δεν υπολογίζονται στον χρόνο σε δευτερόλεπτα από την
   epoch. Αυτό αναφέρεται συνήθως ως Unix time.

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

   Ο αριθμός που επιστρέφεται από την "time()" μπορεί να μετατραπεί σε
   μια πιο συνηθισμένη μορφή χρόνου (δηλαδή έτος, μήνας, ημέρα, ώρα,
   κ.λπ...) σε UTC περνώντας τον στην "gmtime()" συνάρτηση ή σε τοπική
   ώρα περνώντας τον στην "localtime()" συνάρτηση. Σε και τις δύο
   περιπτώσεις επιστρέφεται ένα αντικείμενο "struct_time", από το
   οποίο τα στοιχεία της ημερολογιακής ημερομηνίας μπορούν να
   προσπελαστούν ως χαρακτηριστικά.

   Ρολόι:

   * Στα Windows, καλέστε την "GetSystemTimePreciseAsFileTime()".

   * Καλέστε την "clock_gettime(CLOCK_REALTIME)" αν είναι διαθέσιμη.

   * Διαφορετικά, καλέστε την "gettimeofday()".

   Χρησιμοποιήστε την "time_ns()" για να αποφύγετε την απώλεια
   ακρίβειας που προκαλείται από τον τύπο "float".

Άλλαξε στην έκδοση 3.13: Στα Windows, καλέστε την
"GetSystemTimePreciseAsFileTime()" αντί για την
"GetSystemTimeAsFileTime()".

time.time_ns() -> int

   Παρόμοιο με την "time()" αλλά επιστρέφει τον χρόνο ως ακέραιο
   αριθμό νανοδευτερολέπτων από την epoch.

   Added in version 3.7.

time.thread_time() -> float

   Επιστρέφει την τιμή (σε κλάσματα δευτερολέπτου) του αθροίσματος του
   συστήματος και του χρόνου CPU χρήστη του τρέχοντος νήματος. Δεν
   περιλαμβάνει τον χρόνο που πέρασε κατά τη διάρκεια ύπνου. Είναι
   ειδικό για το νήμα από τον ορισμό του. Το σημείο αναφοράς της
   επιστρεφόμενης τιμής είναι απροσδιόριστο, έτσι ώστε μόνο η διαφορά
   μεταξύ των αποτελεσμάτων δύο κλήσεων στο ίδιο νήμα να είναι έγκυρη.

   Χρησιμοποιήστε την "thread_time_ns()" για να αποφύγετε την απώλεια
   ακρίβειας που προκαλείται από τον τύπο "float".

   Διαθεσιμότητα: Linux, Unix, Windows.

   Συστήματα Unix που υποστηρίζουν το "CLOCK_THREAD_CPUTIME_ID".

   Added in version 3.7.

time.thread_time_ns() -> int

   Παρόμοιο με την "thread_time()" αλλά επιστρέφει τον χρόνο ως
   νανοδευτερόλεπτα.

   Added in version 3.7.

time.tzset()

   Επαναφέρει τους κανόνες μετατροπής χρόνου που χρησιμοποιούνται από
   τις βιβλιοθήκες ρουτίνες. Η μεταβλητή περιβάλλοντος "TZ" καθορίζει
   πώς γίνεται αυτό. Θα ορίσει επίσης τις μεταβλητές "tzname" (από τη
   μεταβλητή περιβάλλοντος "TZ"), "timezone" (μη DST δευτερόλεπτα Δύση
   του UTC), "altzone" (DST δευτερόλεπτα δυτικά του UTC) και
   "daylight" (σε 0 αν αυτή η ζώνη ώρας δεν έχει κανόνες θερινής ώρας,
   ή σε μη μηδενικό αν υπάρχει μια ώρα, παρελθούσα, παρούσα ή
   μελλοντική όταν ισχύει η θερινή ώρα).

   Διαθεσιμότητα: Unix.

   Σημείωση:

     Αν και σε πολλές περιπτώσεις, η αλλαγή της μεταβλητής
     περιβάλλοντος "TZ" μπορεί να επηρεάσει την έξοδο συναρτήσεων όπως
     η "localtime()" χωρίς να καλέσει την "tzset()", αυτή η
     συμπεριφορά δεν πρέπει να βασίζεται.Η μεταβλητή περιβάλλοντος
     "TZ" δεν πρέπει να περιέχει κενά.

   Η τυπική μορφή της μεταβλητής περιβάλλοντος "TZ" είναι (προστέθηκε
   κενό για σαφήνεια):

      std offset [dst [offset [,start[/time], end[/time]]]]

   Όπου τα συστατικά είναι:

   "std" και "dst"
      Τρεις ή περισσότερες αλφαριθμητικές που δίνουν τις
      συντομογραφίες ζώνης ώρας. Αυτές θα προωθηθούν στο time.tzname

   "offset"
      Η μετατόπιση έχει τη μορφή: "± hh[:mm[:ss]]". Αυτό υποδεικνύει
      την τιμή που προστίθεται στην τοπική ώρα για να φτάσει στο UTC.
      Εάν προηγείται από '-', η ζώνη ώρας είναι ανατολικά του Πρώτου
      Μεσημβρινού· διαφορετικά, είναι δυτικά. Αν δεν ακολουθεί
      μετατόπιση μετά το dst, η θερινή ώρα θεωρείται ότι είναι μία ώρα
      μπροστά από την κανονική ώρα.

   "start[/time], end[/time]"
      Υποδεικνύει πότε να αλλάξει σε και από το DST. Η μορφή των
      ημερομηνιών έναρξης και λήξης είναι μία από τις ακόλουθες:

      "J*n*"
         Η Ιουλιανή ημέρα *n* (1 <= *n* <= 365). Οι δίσεκτες ημέρες
         δεν μετριούνται, οπότε σε όλα τα έτη η 28η Φεβρουαρίου είναι
         η ημέρα 59 και η 1η Μαρτίου είναι η ημέρα 60.

      "*n*"
         Η Ιουλιανή ημέρα με βάση το μηδέν (0 <= *n* <= 365). Οι
         δίσεκτες ημέρες μετριούνται, και είναι δυνατόν να αναφερθεί η
         29η Φεβρουαρίου.

      "M*m*.*n*.*d*"
         Η *d*'η ημέρα (0 <= *d* <= 6) της εβδομάδας *n* του μήνα *m*
         του έτους (1 <= *n* <= 5, 1 <= *m* <= 12, όπου η εβδομάδα 5
         σημαίνει "η τελευταία *d* ημέρα στο μήνα *m*" που μπορεί να
         συμβεί είτε στην τέταρτη είτε στην πέμπτη εβδομάδα). Η
         εβδομάδα 1 είναι η πρώτη εβδομάδα στην οποία συμβαίνει η
         *d*'η ημέρα. Η ημέρα μηδέν είναι η Κυριακή.

      Το "time" έχει την ίδια μορφή με την "offset" εκτός από το ότι
      δεν επιτρέπεται προθετικός χαρακτήρας ('-' ή '+'). Η προεπιλογή,
      αν δεν δοθεί χρόνος, είναι 02:00:00.

      >>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'
      >>> time.tzset()
      >>> time.strftime('%X %x %Z')
      '02:07:36 05/08/03 EDT'
      >>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'
      >>> time.tzset()
      >>> time.strftime('%X %x %Z')
      '16:08:12 05/08/03 AEST'

   Σε πολλά συστήματα Unix (συμπεριλαμβανομένων των *BSD, Linux,
   Solaris, και Darwin), είναι πιο βολικό να χρησιμοποιήσετε τη βάση
   δεδομένων zoneinfo (*tzfile(5)*) του συστήματος για να καθορίσετε
   τους κανόνες ζώνης ώρας. Για να το κάνετε αυτό, ορίστε τη μεταβλητή
   περιβάλλοντος "TZ" στη διαδρομή του απαιτούμενου αρχείου δεδομένων
   ζώνης ώρας, σε σχέση με τη ρίζα της βάσης δεδομένων ζώνης ώρας
   'zoneinfo' του συστήματος, που συνήθως βρίσκεται στο
   "/usr/share/zoneinfo". Για παράδειγμα, "'US/Eastern'",
   "'Australia/Melbourne'", "'Egypt'" ή "'Europe/Amsterdam'".

      >>> os.environ['TZ'] = 'US/Eastern'
      >>> time.tzset()
      >>> time.tzname
      ('EST', 'EDT')
      >>> os.environ['TZ'] = 'Egypt'
      >>> time.tzset()
      >>> time.tzname
      ('EET', 'EEST')


Σταθερές αναγνωριστικού ρολογιού
================================

Αυτές οι σταθερές χρησιμοποιούνται ως παράμετροι για την
"clock_getres()" και την "clock_gettime()".

time.CLOCK_BOOTTIME

   Ταυτόσημο με το "CLOCK_MONOTONIC", εκτός από το ότι περιλαμβάνει
   επίσης οποιονδήποτε χρόνο που το σύστημα είναι σε αναστολή.

   Αυτό επιτρέπει στις εφαρμογές να λαμβάνουν ένα ρολόι μονότονο με
   επίγνωση αναστολής χωρίς να χρειάζεται να αντιμετωπίσουν τις
   επιπλοκές του "CLOCK_REALTIME", το οποίο μπορεί να έχει ασυνέχειες
   εάν ο χρόνος αλλάξει χρησιμοποιώντας την "settimeofday()" ή
   παρόμοια.

   Διαθεσιμότητα: Linux >= 2.6.39.

   Added in version 3.7.

time.CLOCK_HIGHRES

   Το λειτουργικό σύστημα Solaris διαθέτει ένα χρονόμετρο
   "CLOCK_HIGHRES" που προσπαθεί να χρησιμοποιήσει μια βέλτιστη πηγή
   υλικού και μπορεί να δώσει σχεδόν ανάλυση νανοδευτερολέπτων. Το
   "CLOCK_HIGHRES" είναι το μη ρυθμιζόμενο, ρολόι υψηλής ανάλυσης.

   Διαθεσιμότητα: Solaris.

   Added in version 3.3.

time.CLOCK_MONOTONIC

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

   Διαθεσιμότητα: Unix.

   Added in version 3.3.

time.CLOCK_MONOTONIC_RAW

   Παρόμοιο με το "CLOCK_MONOTONIC", αλλά παρέχει πρόσβαση σε έναν
   ακατέργαστο χρόνο βασισμένο σε υλικό που δεν υπόκειται σε ρυθμίσεις
   NTP.

   Διαθεσιμότητα: Linux >= 2.6.28, macOS >= 10.12.

   Added in version 3.3.

time.CLOCK_MONOTONIC_RAW_APPROX

   Παρόμοιο με το "CLOCK_MONOTONIC_RAW", αλλά διαβάζει μια τιμή που
   έχει αποθηκευτεί στην κρυφή μνήμη από το σύστημα κατά την αλλαγή
   πλαισίου και επομένως έχει λιγότερη ακρίβεια.

   Διαθεσιμότητα: macOS >= 10.12.

   Added in version 3.13.

time.CLOCK_PROCESS_CPUTIME_ID

   Υψηλής ανάλυσης χρονομετρητής ανά διεργασία από την CPU.

   Διαθεσιμότητα: Unix.

   Added in version 3.3.

time.CLOCK_PROF

   Υψηλής ανάλυσης χρονομετρητής ανά διεργασία από την CPU.

   Διαθεσιμότητα: FreeBSD, NetBSD >= 7, OpenBSD.

   Added in version 3.7.

time.CLOCK_TAI

   International Atomic Time

   Το σύστημα πρέπει να έχει έναν τρέχοντα πίνακα leap second για να
   δώσει τη σωστή απάντηση. Το λογισμικό PTP ή NTP μπορεί να
   διατηρήσει έναν πίνακα leap second.

   Διαθεσιμότητα: Linux.

   Added in version 3.9.

time.CLOCK_THREAD_CPUTIME_ID

   Ρολόι χρόνου CPU ειδικό για νήμα.

   Διαθεσιμότητα: Unix.

   Added in version 3.3.

time.CLOCK_UPTIME

   Χρόνος της απόλυτης τιμής του οποίου είναι ο χρόνος που το σύστημα
   λειτουργεί και δεν έχει ανασταλεί, παρέχοντας ακριβή μέτρηση χρόνου
   λειτουργίας, τόσο απόλυτη όσο και διαστήματος.

   Διαθεσιμότητα: FreeBSD, OpenBSD >= 5.5.

   Added in version 3.7.

time.CLOCK_UPTIME_RAW

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

   Διαθεσιμότητα: macOS >= 10.12.

   Added in version 3.8.

time.CLOCK_UPTIME_RAW_APPROX

   Όπως το "CLOCK_UPTIME_RAW", αλλά η τιμή αποθηκεύεται στην κρυφή
   μνήμη από το σύστημα κατά τις αλλαγές πλαισίου και επομένως έχει
   λιγότερη ακρίβεια.

   Διαθεσιμότητα: macOS >= 10.12.

   Added in version 3.13.

The following constant is the only parameter that can be sent to
"clock_settime()".

time.CLOCK_REALTIME

   Ρολόι πραγματικού χρόνου. Η ρύθμιση αυτού του ρολογιού απαιτεί
   κατάλληλα προνόμια. Το ρολόι είναι το ίδιο για όλες τις διεργασίες.

   Διαθεσιμότητα: Unix.

   Added in version 3.3.


Σταθερές ζώνης ώρας
===================

time.altzone

   Η μετατόπιση της τοπικής ζώνης ώρας DST, σε δευτερόλεπτα δυτικά του
   UTC, αν είναι ορισμένη. Αυτό είναι αρνητικό αν η τοπική ζώνη ώρας
   DST είναι ανατολικά του UTC (όπως στη Δυτική Ευρώπη,
   συμπεριλαμβανομένου του Ηνωμένου Βασιλείου). Χρησιμοποιήστε αυτό
   μόνο αν το "daylight" είναι μη μηδενικό. Δείτε την σημείωση
   παρακάτω.

time.daylight

   Μη μηδενικό αν οριστεί μια ζώνη ώρας DST. Δείτε την σημείωση
   παρακάτω.

time.timezone

   Η μετατόπιση της τοπικής (μη DST) ζώνης ώρας, σε δευτερόλεπτα
   δυτικά του UTC (αρνητικό στο μεγαλύτερο μέρος της Δυτικής Ευρώπης,
   θετικό στις ΗΠΑ, μηδέν στο Ηνωμένο Βασίλειο). Δείτε την σημείωση
   παρακάτω.

time.tzname

   Μια πλειάδα από δύο συμβολοσειρές: η πρώτη είναι το όνομα της
   τοπικής μη DST ζώνης ώρας, η δεύτερη είναι το όνομα της τοπικής
   ζώνης ώρας DST. Αν δεν οριστεί ζώνη ώρας DST, η δεύτερη
   συμβολοσειρά δεν πρέπει να χρησιμοποιηθεί. Δείτε την σημείωση
   παρακάτω.

Σημείωση:

  Για τις παραπάνω σταθερές ζώνες ώρας ("altzone", "daylight",
  "timezone", και "tzname"), η τιμή καθορίζεται από τους κανόνες ζώνης
  ώρας που ισχύουν κατά το χρόνο φόρτωσης της μονάδας ή την τελευταία
  φορά που καλείται η "tzset()" και μπορεί να είναι λανθασμένη για
  χρόνους στο παρελθόν. Συνιστάται να χρησιμοποιείτε τα "tm_gmtoff"
  και "tm_zone" αποτελέσματα από την "localtime()" για να λάβετε
  πληροφορίες ζώνης ώρας.

Δείτε επίσης:

  Module "datetime"
     Πιο αντικειμενοστραφής διεπαφή για ημερομηνίες και ώρες.

  Module "locale"
     Υπηρεσίες διεθνοποίησης. Η ρύθμιση τοπικής ρυθμίσεως επηρεάζει
     την ερμηνεία πολλών προδιαγραφών μορφοποίησης στην "strftime()"
     και την "strptime()".

  Module "calendar"
     Γενικές συναρτήσεις σχετικές με το ημερολόγιο. Η "timegm()" είναι
     η αντίστροφη της "gmtime()" από αυτή τη μονάδα.

-[ Υποσημειώσεις ]-

[1] Η χρήση του "%Z" είναι πλέον αποσυρμένη, αλλά η διαφυγή "%z" που
    επεκτείνεται σε την προτιμώμενη μετατόπιση ώρας/λεπτού δεν
    υποστηρίζεται από όλες τις βιβλιοθήκες ANSI C. Επίσης, μια αυστηρή
    ανάγνωση του αρχικού προτύπου **RFC 822** του 1982 απαιτεί ένα
    διψήφιο έτος ("%y" αντί για "%Y"), αλλά η πρακτική μετακινήθηκε σε
    έτη με 4 ψηφία πολύ πριν από το έτος 2000. Μετά από αυτό, το **RFC
    822** έγινε παρωχημένο και το έτος με 4 ψηφία έχει προταθεί πρώτα
    από το **RFC 1123** και στη συνέχεια επιβλήθηκε από το **RFC
    2822**, με το **RFC 5322** να συνεχίζει αυτή την απαίτηση.
