1. Μετατροπή ημερομηνίας σε ώρα εποχής:
Για μετατροπή ημερομηνίας και ώρας σε ώρα εποχής σε δευτερόλεπτα, μπορείτε να χρησιμοποιήσετε την εντολή «ημερομηνία» με την επιλογή «+%s».
Για παράδειγμα, για να μετατρέψετε την ημερομηνία και την ώρα "1 Ιανουαρίου 1970 00:00:00 UTC" σε ώρα εποχής, θα χρησιμοποιήσετε την ακόλουθη εντολή:
```
$ ημερομηνία --utc -d '1970-01-01 00:00:00 UTC' +%s
```
Αυτή η εντολή θα έβγαζε τον ακόλουθο χρόνο εποχής:
```
0
```
2. Μετατροπή εποχής σε ημερομηνία:
Για μετατροπή της εποχής σε ημερομηνία και ώρα, μπορείτε να χρησιμοποιήσετε την εντολή «ημερομηνία» με την επιλογή «-d @».
Για παράδειγμα, για να μετατρέψετε την εποχή εποχής "0" σε ημερομηνία και ώρα, θα χρησιμοποιούσατε την ακόλουθη εντολή:
```
$ ημερομηνία -d @0
```
Αυτή η εντολή θα δώσει την ακόλουθη ημερομηνία και ώρα:
```
Πέμ 1 Ιανουαρίου 00:00:00 UTC 1970
```
3. Προσθήκη/Αφαίρεση δευτερολέπτων σε/από την εποχή της εποχής:
Για προσθήκη ή αφαίρεση δευτερολέπτων από την εποχή, μπορείτε να χρησιμοποιήσετε την εντολή "date" με τις επιλογές " -d @" και " +%s".
Για παράδειγμα, για να προσθέσετε 60 δευτερόλεπτα στον χρόνο εποχής "0", θα χρησιμοποιούσατε την ακόλουθη εντολή:
```
$ date -d @0 +%s
```
Αυτή η εντολή θα έβγαζε τον ακόλουθο χρόνο εποχής:
```
60
```
Για να αφαιρέσετε 60 δευτερόλεπτα από τον χρόνο εποχής "60", θα χρησιμοποιούσατε την ακόλουθη εντολή:
```
$ date --date='@60 δευτερόλεπτα' -u +%s
```
5. Μετατροπή δευτερολέπτων σε μορφή ημερομηνίας:
```
$ ημερομηνία -d @1585233869
```
Για να αφαιρέσετε 1 ημέρα (86400 δευτερόλεπτα) από τον χρόνο εποχής:
```
$ date -d "τώρα - 1 ημέρα" +%s
```
1. Μετατροπή ημερομηνίας σε ώρα εποχής, λαμβάνοντας υπόψη τη ζώνη ώρας:
Για παράδειγμα, για να μετατρέψετε την ημερομηνία και την ώρα "1 Ιανουαρίου 1970 12:00:00 PM EST" σε χρόνο εποχής σε δευτερόλεπτα, θα χρησιμοποιούσατε την ακόλουθη εντολή:
```
$ date --date '1970-01-01 12:00:00 EST' +%s
```
Εδώ, η «ημερομηνία» χρησιμοποιείται με την επιλογή «--ημερομηνία» για τη μετατροπή μιας συμβολοσειράς που αντιπροσωπεύει την ημερομηνία και την ώρα σε ώρα εποχής. Το «+%s» μορφοποιεί την έξοδο ως τον αριθμό των δευτερολέπτων από την 1η Ιανουαρίου 1970, 00:00:00 UTC.
Αυτή η εντολή θα έβγαζε τον ακόλουθο χρόνο εποχής:
```
3600
```
2. Μετατροπή εποχής σε ημερομηνία, λαμβάνοντας υπόψη το UTC:
Για παράδειγμα, για να μετατρέψετε την εποχή εποχής "1585233869" σε ημερομηνία και ώρα σε μορφή UTC, θα χρησιμοποιήσετε την ακόλουθη εντολή:
```
$ ημερομηνία -ud @1585233869
```
Σε αυτό το παράδειγμα, η επιλογή «-ud» χρησιμοποιείται με το σύμβολο «@» για να ερμηνεύσει τον χρόνο εποχής του «1585233869» ως χρονική σήμανση Unix σε UTC.
Αυτή η εντολή θα δώσει την ακόλουθη ημερομηνία και ώρα:
```
Κυρ 29 Μαρτίου 18:24:29 UTC 2020
```
3. Μετατροπή εποχής σε τοπική ζώνη ώρας:
Για να μετατρέψετε την εποχή εποχής "1585233869" σε ημερομηνία και ώρα σε μια συγκεκριμένη ζώνη ώρας, χρησιμοποιήστε την "ημερομηνία -d @1585233869 -T "ζώνη ώρας"", αντικαθιστώντας τη "ζώνη ώρας" με τη ζώνη ώρας που επιθυμείτε.
```
$ ημερομηνία -d @1585233869 -T "America/New_York"
```
Αυτό θα εμφανίσει:
```
Κυρ 29 Μαρτίου 13:24:29 EDT 2020
```
4. Μετατροπή ημερομηνίας σε χιλιοστά της εποχής (χιλιοστά του δευτερολέπτου από την εποχή):
Για να μετατρέψετε μια ημερομηνία όπως "1 Ιουλίου 2020, 12:30 μ.μ." σε χιλιοστά του δευτερολέπτου, χρησιμοποιήστε την "ημερομηνία +%s%3N", όπου το "+%s" είναι δευτερόλεπτα από την εποχή και το "%3N" προσθέτει 3 ψηφία για χιλιοστά του δευτερολέπτου .
```
$ date --ημερομηνία '1 Ιουλίου 2020, 12:30 μ.μ.' +%s%3N
```
Αυτό δίνει έξοδο σε χιλιοστά του δευτερολέπτου:
```
1593630600992
```
5. Μετατροπή των χιλιοστών της εποχής σε ημερομηνία αναγνώσιμη από τον άνθρωπο:
Για να μετατρέψετε epoch millis, όπως το 1593630600000, σε μια συμβολοσειρά ημερομηνίας, χρησιμοποιήστε "date -d @epoch-millis +"%Y-%m-%d %H:%M:%S.%3N".
```
$ date -d @1593630600000 +'%Y-%m-%d %H:%M:%S.%3N'
```
Παραγωγή:
```
2020-07-01 12:30:00.000
```
6. Λάβετε την τρέχουσα ημερομηνία και ώρα σε μορφή αναγνώσιμη από μηχανή:
Το "date +%s%3N" εμφανίζει την εποχή χιλιοστά του δευτερολέπτου, χρήσιμο όταν συγκρίνετε δύο ημερομηνίες.
```
$ ημερομηνία +%s%3N
```
Παραγωγή:
```
1593633240539
```
7. Προσθήκη ή αφαίρεση ημερών από την εποχή:
Η ημερομηνία -d @epoch-seconds +days προσαρμόζει τον χρόνο της εποχής κατά τον καθορισμένο αριθμό ημερών. Για παράδειγμα:
```
$ ημερομηνία -d @1593630600 +3 ημέρες
```
Παραγωγή:
```
Πέμ. 4 Ιουλίου 12:30:00 EDT 2020
```
8. Αφαιρέστε ημερομηνίες για να υπολογίσετε τη διαφορά:
Για να υπολογίσετε τη διαφορά μεταξύ δύο ημερομηνιών, βρείτε τα δευτερόλεπτα της εποχής τους και αφαιρέστε. Για παράδειγμα:
```
$ end_time=$(ημερομηνία +%s)
$ start_time=$(ημερομηνία -d "2019-07-01" +%s)
$διαφορά_σε_δευτερόλεπτα=$(( end_time - start_time ))
```
9. Προσθήκη ή αφαίρεση χρονικών διαστημάτων:
Για να προσθέσετε ή να αφαιρέσετε συγκεκριμένα διαστήματα όπως 5 ώρες και 30 λεπτά από μια δεδομένη εποχή, χρησιμοποιήστε:
```
$ ημερομηνία -d @1593630600 +5 ώρες -30 λεπτά
```
Παραγωγή:
```
Παρ 2 Ιουλίου 12:00:00 EDT 2020
```
10. Μέτρηση ημερομηνίας μέχρι μελλοντικό συμβάν:
Για να προσδιορίσετε πόσο χρόνο μέχρι μια συγκεκριμένη ημερομηνία στο μέλλον, μετατρέψτε και τις δύο σχετικές ημερομηνίες σε δευτερόλεπτα εποχής και υπολογίστε τη διαφορά. Για παράδειγμα:
```
$ end_time=$(ημερομηνία -d "25-12-2021 00:00" +%s)
$ start_time=$(ημερομηνία +%s)
$ seconds_until_Christmas=$(( end_time - start_time ))
```
11. Μετρήστε ημερομηνίες από το προηγούμενο συμβάν:
Ομοίως, η μέτρηση του αριθμού των ημερών από την ημερομηνία ενός συμβάντος όπως τα γενέθλια θα περιλάμβανε την αφαίρεση των δευτερολέπτων της εποχής της ημερομηνίας του συμβάντος από την τρέχουσα ημερομηνία:
```
$γενέθλια=$(ημερομηνία -d "1999-09-01" +%s)
$current_time=$(ημερομηνία +%s)
$ days_since_birthday=$(( (current_time - γενέθλια)/(60*60*24) ))
```
12. Δημιουργία τυχαίας εποχής:
Για να δημιουργήσετε μια τυχαία χρονική σήμανση εντός ενός καθορισμένου εύρους ημερομηνιών, χρησιμοποιήστε την ακόλουθη εντολή:
```
$ min_time=$(ημερομηνία -d "2019-07-01" +%s)
$ max_time=$(ημερομηνία -d "2020-07-31" +%s)
$ random_time=$(shuf -i $min_time-$max_time -n1)
$ ημερομηνία -d @$random_time
```
13. Μετατροπή χρόνου αναγνώσιμων από τον άνθρωπο σε δευτερόλεπτα:
Για να απλοποιήσετε τους υπολογισμούς χρόνου, μετατρέψτε τα αναγνώσιμα από τον άνθρωπο χρονικά διαστήματα σε δευτερόλεπτα χρησιμοποιώντας την αριθμομηχανή «expr»:
```
$ seconds_5_hours=$(expr 5 \* 60 \* 60)
$ date +%s -d "τώρα - $seconds_5_hours δευτερόλεπτα"
```
Αυτό εμφανίζει την τρέχουσα ημερομηνία/ώρα μειωμένη κατά 5 ώρες:
```
Παρ 9 Ιουλίου 15:02:20 EDT 2021
```
Θυμηθείτε, όταν ασχολείστε με υπολογισμούς που σχετίζονται με την ώρα, η επιλογή της κατάλληλης ζώνης ώρας είναι ζωτικής σημασίας για την εξασφάλιση ακριβών αποτελεσμάτων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα