Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
| Functions | Ισχύει για |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Function | Ισχύει για |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Προσθέτει ή εντοπίζει τη διαφορά στις τιμές ημερομηνίας/ώρας και μετατρέπει την τοπική ώρα σε UTC.
Περιγραφή
Η DateAdd συνάρτηση προσθέτει έναν αριθμό μονάδων σε μια τιμή ημερομηνίας/ώρας. Το αποτέλεσμα είναι μια νέα τιμή ημερομηνίας/ώρας. Μπορείτε επίσης να αφαιρέσετε έναν αριθμό μονάδων από μια τιμή ημερομηνίας/ώρας, καθορίζοντας μια αρνητική τιμή.
Η DateDiff συνάρτηση επιστρέφει τη διαφορά μεταξύ δύο τιμών ημερομηνίας/ώρας. Το αποτέλεσμα είναι ένας ακέραιος αριθμός μονάδων.
Για αμφότερες τις συναρτήσεις, οι μονάδες μπορεί να είναι TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, ή TimeUnit.Years. Από προεπιλογή, αμφότερες οι συναρτήσεις χρησιμοποιούν τις TimeUnit.Days ως μονάδες.
Η TimeZoneOffset συνάρτηση επιστρέφει τον αριθμό των λεπτών μεταξύ της τοπικής ώρας του χρήστη και της ώρας UTC (Συντονισμένη παγκόσμια ώρα).
Μπορείτε να χρησιμοποιήσετε DateAdd την με την TimeZoneOffset για μετατροπή μεταξύ της τοπικής ώρας του χρήστη και της ώρας UTC (Συντονισμένη παγκόσμια ώρα). Η προσθήκη TimeZoneOffset θα μετατρέψει μια τοπική ώρα σε UTC και η αφάγοντάς την (προσθέτοντας τον αρνητικό αριθμό) θα μετατραπεί από UTC σε τοπική ώρα.
Ανατρέξτε επίσης στις ενότητες Τύποι δεδομένων Date, Time και DateTime και Εργασία με ημερομηνίες και ώρες για περισσότερες πληροφορίες.
Σύνταξη
DateAdd( DateTime, Addition [, Units ] )
- DateTime - Απαιτείται. Η τιμή ημερομηνίας/ώρας που θα χρησιμοποιηθεί.
- Προσθήκη - απαιτείται. Ο αριθμός, σε Units, για να προστεθεί στην DateTime.
- Μονάδες - Προαιρετικό. Ο τύπος Μονάδων για προσθήκη: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, ή TimeUnit.Years. Εάν δεν καθοριστεί, χρησιμοποιείται η μονάδα TimeUnit.Days.
DateDiff( StartDateTime, EndDateTime [, Units ] )
- StartDateTime- Απαιτείται. Η τιμή εκκίνησης ημερομηνίας/ώρας.
- EndDateTime - Απαιτείται. Η τιμή λήξης ημερομηνίας/ώρας.
- Μονάδες - Προαιρετικό. Ο τύπος Μονάδων για αφαίρεση: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, ή TimeUnit.Years. Εάν δεν καθοριστεί, χρησιμοποιείται η μονάδα TimeUnit.Days.
TimeZoneOffset( [ DateTime ] )
- DateTime - Προαιρετικό. Η τιμή ημερομηνίας/ώρας για την οποία θα επιστραφεί η απόκλιση. Από προεπιλογή, χρησιμοποιείται η τρέχουσα ημερομηνία/ώρα.
Παραδείγματα
Σε όλα αυτά τα παραδείγματα, υποθέστε ότι η τρέχουσα ημερομηνία και ώρα είναι 15 Ιουλίου, 2013, 1:02 Μ.Μ.
Απλός DateAdd
| Τύπος | Περιγραφή | Αποτέλεσμα |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Προσθέτει τρεις ημέρες (προεπιλεγμένες μονάδες) στην τρέχουσα ημερομηνία και ώρα. | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Προσθέτει τέσσερις ώρες στην τρέχουσα ημερομηνία και ώρα. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-yyyy hh:mm" ) |
Προσθέτει ένα μήνα στην τρέχουσα ημερομηνία, χωρίς ώρα, καθώς το Today δεν επιστρέφει ένα στοιχείο ώρας. | "15-08-2013 00:00" |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Αφαιρεί 30 λεπτά από την τρέχουσα ημερομηνία και ώρα. | "15-07-2013 12:32" |
Απλός DateDiff
| Τύπος | Περιγραφή | Αποτέλεσμα |
|---|---|---|
| DateDiff( Now(), DateValue("1/1/2014") ) | Επιστρέφει τη διαφορά μεταξύ των δύο μονάδων στις προεπιλεγμένες μονάδες TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Επιστρέφει τη διαφορά μεταξύ των δύο τιμών σε μονάδες TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Επιστρέφει τη διαφορά μεταξύ της τρέχουσας ημερομηνίας/ώρας και της τρέχουσας ημερομηνίας μόνο (χωρίς ώρα) σε λεπτά. Καθώς η μονάδα Now είναι μεταγενέστερη της μονάδας Today, το αποτέλεσμα θα είναι αρνητικό. | -782 |
Διαφορά ημερομηνιών με κλασματικά αποτελέσματα
Η συνάρτηση DateDiff επιστρέφει μόνο έναν ακέραιο αριθμό των μονάδων που αφαιρούνται και η ακρίβεια δίνεται στην καθορισμένη μονάδα. Για να υπολογίσετε τη διαφορά με μεγαλύτερη ακρίβεια, χρησιμοποιήστε μια μικρότερη μονάδα και μετατρέψτε το αποτέλεσμα κατάλληλα, όπως στα παρακάτω παραδείγματα.
| Τύπος | Περιγραφή | Αποτέλεσμα |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Τα λεπτά/δευτερόλεπτα αγνοούνται, η διαφορά βασίζεται στον χρόνο μέχρι την ώρα. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Τα λεπτά χρησιμοποιούνται στη διαφορά και το αποτέλεσμα διαιρείται με το 60 για να έχει τη διαφορά στις ώρες. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Τα λεπτά και τα δευτερόλεπτα χρησιμοποιούνται στη διαφορά Το αποτέλεσμα διαιρείται με το 3600 για να έχει τη διαφορά στις ώρες. | 0.51 |
Μετατροπή σε UTC
Για μετατροπή σε UTC (Συντονισμένη παγκόσμια ώρα), προσθέστε τη TimeZoneOffset για τη δεδομένη ώρα.
Για παράδειγμα, υποθέστε ότι η τρέχουσα ημερομηνία και ώρα είναι 15 Ιουλίου, 2013, 1:02 Μ.Μ. στη Θερινή ώρα Ειρηνικού (PDT, UTC-7). Για να καθορίσετε την τρέχουσα ώρα σε UTC, χρησιμοποιήστε:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset Η προεπιλεγμένη τιμή είναι η τρέχουσα ώρα, επομένως δεν χρειάζεται να μεταβιβάσετε ένα όρισμα.
Για να δείτε το αποτέλεσμα, χρησιμοποιήστε τη συνάρτηση Text με τη μορφή dd-mm-yyyy hh:mm, η οποία θα επιστρέψει 15-07-2013 20:02.
Μετατροπή από UTC
Για μετατροπή από UTC, αφαιρέστε το TimeZoneOffset (προσθέτοντας το αρνητικό) για τη δεδομένη ώρα.
Για παράδειγμα, υποθέστε ότι ημερομηνία και ώρα UTC 15 Ιουλίου, 2013, 8:02 Μ.Μ. αποθηκεύεται σε μια μεταβλητή με την ονομασία StartTime. Για να προσαρμόσετε την ώρα στη ζώνη ώρας του χρήστη, χρησιμοποιήστε τη συνάρτηση:
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Σημειώστε το αρνητικό πρόσημο πριν TimeZoneOffset για να αφαιρέσετε την απόκλιση αντί να την προσθέσετε.
Για να δείτε το αποτέλεσμα, χρησιμοποιήστε τη συνάρτηση Text με τη μορφή dd-mm-yyyy hh:mm, η οποία θα έχει ως αποτέλεσμα 15-07-2013 13:02 εάν βρίσκεστε σε Θερινή ώρα Ειρηνικού.