c datetime tutorial
Αυτό το σεμινάριο θα εξηγήσει τα πάντα για την τάξη C # DateTime. Θα μάθετε να εργάζεστε με τη μορφή C # DateTime, συμπεριλαμβανομένων των μεθόδων χρονομέτρου, χρονόμετρου και ύπνου:
Η ώρα και η ημερομηνία χρησιμοποιούνται ευρέως σε διάφορα προγράμματα λογισμικού. Αντιμετωπίζουμε συχνά αντικείμενα ημερομηνίας και ώρας ενώ γράφουμε διαφορετικά προγράμματα.
Η ώρα ημερομηνίας έχει διάφορες εφαρμογές, όπως λήψη τρέχουσας ημερομηνίας-ώρας, προσθήκη χρονικής σήμανσης σε ονόματα μεταβλητών / αρχείων, χρήση ώρας ημερομηνίας για επικύρωση κ.λπ. Με τόσες πολλές εφαρμογές μπορείτε εύκολα να μαντέψετε πόσο σημαντικό είναι το αντικείμενο ημερομηνίας-ώρας για τους προγραμματιστές.
=> Δείτε τα εκπαιδευτικά σεμινάρια C-In-Depth εδώ
Τι θα μάθετε:
- Πώς να προετοιμάσετε το αντικείμενο C # DateTime;
- Ιδιότητες του αντικειμένου DateTime
- Τι είναι η μορφοποίηση ημερομηνίας;
- Πώς να λάβετε την τρέχουσα ώρα ημερομηνίας;
- C # Χρονόμετρο
- C # Χρονόμετρο
- Τι είναι η μέθοδος ύπνου;
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Πώς να προετοιμάσετε το αντικείμενο C # DateTime;
Το DateTime είναι μια δομή στο χώρο ονομάτων συστήματος. Βοηθά τους προγραμματιστές να ανακτήσουν πληροφορίες σχετικά με την ημερομηνία, την ώρα, το μήνα, το έτος ή ακόμη και την ημέρα της εβδομάδας. Επιτρέπει επίσης στους χρήστες να εκτελούν λειτουργίες στις ανακτημένες τιμές ημερομηνίας-ώρας.
Ας ρίξουμε μια ματιά σε ένα απλό πρόγραμμα, αρχικοποιώντας ένα νέο αντικείμενο DateTime. Όταν προετοιμάζουμε ένα νέο αντικείμενο θα χρειαστεί να περάσουμε ορισμένες παραμέτρους για να ορίσουμε την τιμή ημερομηνίας.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); Console.WriteLine(dt.ToString()); Console.ReadLine(); } } }
Εδώ, έχουμε περάσει την ημερομηνία ως 05, μήνα ως 11 και έτος ως 2018. Αυτό θα ορίσει την παρουσία χρόνου δεδομένων στην παράμετρο που παρέχεται από εμάς. Μετά την αρχικοποίηση, εκτυπώσαμε το αρχικοποιημένο αντικείμενο στην κονσόλα μετατρέποντάς το σε συμβολοσειρά.
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
11/5/2018 12:00:00 ΠΜ
Στην παραπάνω έξοδο, μπορείτε να δείτε ότι καθώς δεν έχουμε παράσχει καμία τιμή ώρας, ως εκ τούτου το αντικείμενο DateTime έχει χρησιμοποιήσει την προεπιλεγμένη ώρα.
Ιδιότητες του αντικειμένου DateTime
Το αντικείμενο DateTime προσφέρει μια σειρά από διαφορετικές ιδιότητες για να βοηθήσει τους χρήστες να ανακτήσουν δεδομένα σχετικά με το αντικείμενο ημερομηνίας και ώρας.
Εδώ θα συζητήσουμε μερικές σημαντικές ιδιότητες ώρας ημερομηνίας:
Ημέρα
Η ιδιότητα Day ανακτά την καθορισμένη ημερομηνία του αντικειμένου ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int date = dt.Day;
Μήνας
Η ιδιότητα Month ανακτά τον καθορισμένο μήνα του αντικειμένου ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int month = dt.Month;
Ετος
Η ιδιότητα Year ανακτά το καθορισμένο έτος του αντικειμένου ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int yr = dt.Year;
Ημέρα της εβδομάδας
Η ιδιότητα Ημέρα της εβδομάδας ανακτά την ακέραια τιμή της ημέρας της εβδομάδας από το καθορισμένο αντικείμενο ημερομηνίας-ώρας. Απαιτεί επίσης μετάδοση για αποδοχή ακέραιας τιμής. Δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int dayWeek = (int)dt.DayOfWeek;
Ημέρα του έτους
Η ιδιότητα Day of year ανακτά την ημέρα του έτους από την καθορισμένη τιμή της ημερομηνίας στο αντικείμενο ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int dayYear = dt.DayOfYear;
Ωρα
Η ιδιότητα Day ανακτά την καθορισμένη ημερομηνία του αντικειμένου ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int hour = dt.Hour;
Λεπτό
Η ελάχιστη ιδιότητα ανακτά την ελάχιστη τιμή από την καθορισμένη ημερομηνία του αντικειμένου ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int min = dt.Minute;
Δεύτερος
Η δεύτερη ιδιότητα ανακτά τη δεύτερη τιμή από την καθορισμένη τιμή του αντικειμένου ημερομηνίας-ώρας. Επιστρέφει μια ακέραια τιμή και δεν αποδέχεται κανένα επιχείρημα.
Σύνταξη:
int sec = dt.Second;
Ας ρίξουμε μια ματιά σε ένα απλό πρόγραμμα για να ανακτήσουμε αυτές τις τιμές.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); int date = dt.Day; int month = dt.Month; int yr = dt.Year; int dayWeek = (int)dt.DayOfWeek; int dayYear = dt.DayOfYear; int hour = dt.Hour; int min = dt.Minute; int sec = dt.Second; Console.WriteLine(date); Console.WriteLine(month); Console.WriteLine(yr); Console.WriteLine(dayWeek); Console.WriteLine(dayYear); Console.WriteLine(hour); Console.WriteLine(min); Console.WriteLine(sec); Console.ReadLine(); } } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
Ημερομηνία: 5
Μήνας: 11
Έτος: 2018
Ημέρα της εβδομάδας: 1
Ημέρα του έτους: 309
Ώρα: 0
Λεπτό: 0
Δεύτερο: 0
Στο παραπάνω πρόγραμμα, έχουμε ορίσει την τιμή ημερομηνίας ως 05/11/2018. Έτσι, μπορούμε να δούμε ότι το σύστημα έχει πάρει τις ίδιες τιμές, αλλά όταν κοιτάξουμε το χρονικό μέρος θα δούμε την προεπιλεγμένη τιμή είναι 0. Είναι επειδή, δεν έχουμε ορίσει καμία τιμή χρόνου και έτσι το σύστημα εκχωρεί αυτόματα τις προεπιλεγμένες τιμές σε μια ώρα, λεπτό και δευτερόλεπτο.
Τι είναι η μορφοποίηση ημερομηνίας;
Διαφορετικές εφαρμογές και διαφορετικοί προγραμματιστές ενδέχεται να απαιτούν διαφορετική μορφή ημερομηνίας για τη χρήση τους. Έτσι, η μορφοποίηση ημερομηνίας χρησιμοποιείται για τη μορφοποίηση της ημερομηνίας για πολλές απαιτήσεις. Το DateTime προσφέρει επίσης διαφορετικές επιλογές μορφοποίησης για να πάρει την ημερομηνία σας στην επιθυμητή μορφή.
Υπάρχουν διάφοροι προσδιοριστές που έχουν οριστεί για να σας προσφέρουν την επιθυμητή μορφή της ημερομηνίας. Εδώ θα συζητήσουμε μερικά από τα δημοφιλή:
Μορφή σύντομου χρόνου
Εμφανίζει μια απλή μορφή ώρας με μια ώρα και λεπτά που συμπληρώνεται από ΠΜ ή ΜΜ. Συμβολίζεται με 't' σε μια μικρή περίπτωση.
προγράμματα που αποκρύπτουν τη διεύθυνση IP σας
Η μορφή εξόδου θα είναι: 12:00 μ.μ.
Μορφή μεγάλης διάρκειας
Εμφανίζει εκτεταμένη μορφή χρόνου με ώρα, λεπτό και δευτερόλεπτο επίθετο AM ή PM. Συμβολίζεται με το 'T' στην κεφαλαία.
Η μορφή εξόδου θα είναι: 12:13:12 μ.μ.
Σύντομη ημερομηνία
Εμφανίζει μια απλή μορφή ημερομηνίας σε μορφή MM / DD / YYYY. Συμβολίζεται με το αλφάβητο 'd' σε μια μικρή περίπτωση.
Η μορφή εξόδου θα είναι: 11/05/2018
Μεγάλη ημερομηνία
Εμφανίζει εκτεταμένη μορφή ημερομηνίας με την ημέρα, τον μήνα, την ημέρα και το έτος. Συμβολίζεται με το αλφάβητο 'D' στην κεφαλαία.
Η μορφή εξόδου θα είναι: Δευτέρα 05 Νοεμβρίου 2018
Ημέρα / Μήνας
Εμφανίζει τη μορφή ημερομηνίας με ημερομηνία και μήνα. Δεν περιέχει τις λεπτομέρειες του έτους. Συμβολίζεται με το αλφάβητο 'M' στην κεφαλαία.
Η μορφή εξόδου θα είναι: 5-Νοεμβρίου
Μήνας χρόνος
Εμφανίζει τη μορφή ημερομηνίας με Μήνα και Έτος. Δεν περιέχει λεπτομέρειες ημερομηνίας. Συμβολίζεται με το αλφάβητο 'Y' στην κεφαλαία.
Η μορφή εξόδου θα είναι: Νοέμβριος 2018
Ας ρίξουμε μια ματιά σε αυτά λεπτομερώς με τη βοήθεια ενός απλού προγράμματος.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); //short time Console.WriteLine('Short time : {0}',dt.ToString('t')); //Long Time Console.WriteLine('Long time : {0}', dt.ToString('T')); //Short Date Console.WriteLine('Short Date : {0}', dt.ToString('d')); //Long Date Console.WriteLine('Long date : {0}', dt.ToString('D')); //Day / Month Console.WriteLine('Day with month : {0}', dt.ToString('M')); //Month / Year Console.WriteLine('Month with year : {0}', dt.ToString('Y')); Console.ReadLine(); } } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
Σύντομη ώρα: 12:00 π.μ.
Μεγάλη ώρα: 12:00:00 π.μ.
Σύντομη ημερομηνία: 11/5/2018
Μεγάλη ημερομηνία: Δευτέρα 5 Νοεμβρίου 2018
Ημέρα με μήνα: 5 Νοεμβρίου
Μήνας με έτος: Νοέμβριος 2018
Στο παραπάνω πρόγραμμα, έχουμε αρχικοποιήσει την τιμή της ημερομηνίας στην πρώτη γραμμή και μετά προσπαθήσαμε να χρησιμοποιήσουμε την ίδια τιμή για τη λήψη διαφορετικών μορφών.
Πώς να λάβετε την τρέχουσα ώρα ημερομηνίας;
Το αντικείμενο DateTime περιέχει έναν αριθμό διαφορετικών μεθόδων για πρόσβαση στην ώρα του συστήματος. Η μέθοδος 'Τώρα' σάς επιτρέπει να λάβετε την τρέχουσα ώρα / ημερομηνία συστήματος και ακόμη και σας επιτρέπει να το χρησιμοποιήσετε.
Η σύνταξη για λήψη της τρέχουσας ώρας θα είναι:
DateTime today = DateTime.Now;
Μόλις ορίσουμε και αποθηκεύσουμε τώρα σε ένα αντικείμενο DateTime. Μπορούμε εύκολα να το μετατρέψουμε σε συμβολοσειρά για να πάρουμε την τρέχουσα ώρα ημερομηνίας ή ακόμα και να αλλάξουμε τη μορφή της ημερομηνίας χρησιμοποιώντας τους προσδιοριστές που συζητήθηκαν παραπάνω.
C # Χρονόμετρο
Ο χρονοδιακόπτης στο C # επιτρέπει στους προγραμματιστές να ορίσουν ένα χρονικό διάστημα για να εκτελέσουν ένα συγκεκριμένο σύνολο κώδικα ή εντολών με επαναλαμβανόμενο τρόπο. Είναι πολύ χρήσιμο σε περίπτωση που η προδιαγραφή της εφαρμογής σας απαιτεί να εκτελέσετε ένα συμβάν μετά από κάθε συγκεκριμένο διάστημα.
Για παράδειγμα, κατά την εφαρμογή μιας εφαρμογής δημιουργίας αντιγράφων ασφαλείας δεδομένων.
Ας ρίξουμε μια ματιά σε ένα απλό πρόγραμμα για την εφαρμογή ενός χρονοδιακόπτη:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; using System.Timers; namespace ConsoleApp1 { class Program { private static Timer timer; static void Main(string() args) { timer = new System.Timers.Timer(); timer.Interval = 2000; timer.Elapsed += OnTimerEvent; timer.AutoReset = true; timer.Enabled = true; Console.WriteLine('The timer will start logging now... '); Console.ReadLine(); } private static void OnTimerEvent(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine('Time logged: {0}', e.SignalTime.ToString('T')); } } }
Επομένως, εάν εκτελέσετε αυτό το πρόγραμμα, θα συνεχίσει να καταγράφεται ο χρόνος μετά από κάθε 2 δευτερόλεπτα.
Στο παραπάνω πρόγραμμα, αρχικοποιήσαμε αρχικά το System.Timer. Στη συνέχεια, ορίζουμε το χρονικό διάστημα για το χρονόμετρο. Εδώ έχουμε διατηρήσει το διάστημα ως 2000 χιλιοστά του δευτερολέπτου, μπορείτε να παρέχετε οποιαδήποτε εφαρμογή σύμφωνα με τις απαιτήσεις σας. Μόλις παρέλθει το χρονικό διάστημα πρέπει να εκτελέσουμε κάποιες οδηγίες καλώντας κάποια μέθοδο.
Εδώ καλέσαμε το 'OnTimerEvent' κάθε δύο δευτερόλεπτα. Η μέθοδος θα δεχτεί δύο παραμέτρους, η πρώτη είναι 'αντικείμενο' και μια άλλη 'ElapsedEventArgs'.
Πρέπει επίσης να επαναφέρουμε το χρονόμετρο κάθε φορά που φτάνει σε ένα διάστημα και πρέπει επίσης να το ενεργοποιήσουμε. Ως εκ τούτου, τόσο η αυτόματη επαναφορά όσο και η ενεργοποίηση χρονοδιακόπτη επισημαίνονται ως αληθή Στη συνέχεια, γράφουμε το προσαρμοσμένο μήνυμά μας στην κονσόλα και προσθέτουμε επίσης μια γραμμή ανάγνωσης για να βεβαιωθούμε ότι η κονσόλα παραμένει ανοιχτή μέχρι την παρέμβαση του χρήστη.
C # Χρονόμετρο
Το χρονόμετρο χρησιμοποιείται στο C # για τη μέτρηση του χρόνου. Είναι πολύ χρήσιμο στη συγκριτική αξιολόγηση της απόδοσης κώδικα κατά τη βελτιστοποίηση κώδικα. Μπορεί να χρησιμοποιηθεί για τη συνεχή παρακολούθηση του κώδικα / της απόδοσης της εφαρμογής και για τον έλεγχο τυχόν υποβάθμισης της απόδοσης.
Το χρονόμετρο μπορεί να μετρήσει με ακρίβεια τον χρόνο που έχει παρέλθει κατά τη διάρκεια ενός συμβάντος και είναι η τέλεια επιλογή για το χρονοδιάγραμμα οποιουδήποτε συμβάντος στο πρόγραμμα. Η κλάση χρονόμετρου ορίζεται στο χώρο ονομάτων System.Diagnostics και πρέπει να τεκμηριωθεί για χρήση. Αυτό το καθιστά αρκετά χρήσιμο για εφαρμογές που απαιτούν πολλαπλές κλωστές. Οι κλήσεις συμβάντων μπορούν να εκτελεστούν χρησιμοποιώντας τη μέθοδο thread.sleep.
Τι είναι η μέθοδος ύπνου;
Η μέθοδος αναστολής χρησιμοποιείται για παύση του νήματος λειτουργίας για συγκεκριμένο χρονικό διάστημα. Δέχεται χρόνο σε χιλιοστά του δευτερολέπτου. Ο ύπνος είναι πολύ χρήσιμος σε ένα περιβάλλον πολλαπλών σπειρωμάτων όπου θέλετε να σταματήσει ένα νήμα για να δώσει τη δυνατότητα σε άλλα νήματα να ολοκληρώσουν την εκτέλεση τους.
Η σύνταξη για τη μέθοδο C # Sleep είναι:
System.Threading.Thread.Sleep(1000);
Τώρα έχουμε μάθει για τον ύπνο και άλλες τάξεις χρονόμετρου.
Ας δημιουργήσουμε ένα απλό πρόγραμμα χρονόμετρου για να κατανοήσουμε τα πράγματα με μεγαλύτερη σαφήνεια.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Diagnostics; namespace ConsoleApp1 { class Program { static void Main(string() args) { Console.WriteLine('Press Enter to start the stopwatch'); Console.ReadLine(); // Create a new Stopwatch. var stopwatch = Stopwatch.StartNew(); Console.WriteLine('Stopwatch started...'); Console.WriteLine('Press Enter to stop the stopwatch and show time'); Console.ReadLine(); // Write result. Console.WriteLine('Time elapsed: {0}', stopwatch.Elapsed); Console.ReadLine(); } } }
Παραγωγή
Η έξοδος του παραπάνω προγράμματος θα είναι κάπως έτσι:
Η τελευταία γραμμή δείχνει τον χρόνο που έχει παρέλθει μεταξύ της έναρξης και των στάσεων του χρονόμετρου.
Στο παραπάνω πρόγραμμα, ορίσαμε μια μεταβλητή χρονόμετρο στην οποία αποθηκεύσαμε την παρουσία της κλάσης Χρονόμετρο. Χρησιμοποιήσαμε τη μέθοδο StartNew (). Η μέθοδος startnew δημιουργεί μια νέα παρουσία κάθε φορά που καλείται, επομένως είναι πολύ χρήσιμη όταν θέλουμε να ξεκινήσουμε το χρονόμετρο από την αρχή.
Η ιδιότητα που έχει παρέλθει του χρονόμετρου επιτρέπει στο χρήστη να καταγράφει το χρονικό διάστημα της εκτέλεσης. Στο τέλος, τυπώσαμε απλά τον χρόνο που πέρασε στην κονσόλα.
συμπέρασμα
Η ώρα ημερομηνίας, ο χρονοδιακόπτης, η αναστολή λειτουργίας και το χρονόμετρο χρησιμοποιούνται σε γλώσσα προγραμματισμού C # για ικανοποίηση διαφόρων σκοπών. Ένα αντικείμενο DateTime χρησιμοποιείται για τη συλλογή πληροφοριών σχετικά με την ημερομηνία και την ώρα του συστήματος ή για τον καθορισμό μιας προσαρμοσμένης ημερομηνίας και ώρας για χρήση για μια συγκεκριμένη απαίτηση εφαρμογής.
Το χρονόμετρο, από την άλλη πλευρά, χρησιμοποιείται για να ορίσει ένα χρονικό διάστημα μεταξύ της εκτέλεσης ορισμένων εντολών ή συμβάντων.
Η αναστολή λειτουργίας είναι το μέρος του συστήματος. Το νήμα και χρησιμοποιείται για παύση ή διακοπή της εκτέλεσης για ένα συγκεκριμένο χρονικό διάστημα. Αυτό επιτρέπει στους προγραμματιστές να ξεκινήσουν ένα άλλο νήμα στο περιβάλλον πολλαπλών νημάτων ενώ το προηγούμενο νήμα έχει τεθεί σε παύση.
Το χρονόμετρο μπορεί να χρησιμοποιηθεί για τη μέτρηση της απόδοσης ή του χρόνου που αφιερώνεται στην εκτέλεση ενός συγκεκριμένου συμβάντος. Μπορεί να προσφέρει μια ακριβή μέτρηση του χρόνου που έχει παρέλθει ή των κροτώνων που μπορούν να χρησιμοποιηθούν για τη διατήρηση της απόδοσης της εφαρμογής σε έλεγχο.
=> Εξερευνήστε ολόκληρη τη σειρά εκπαιδευτικών εκπαιδευτικών C # εδώ
Συνιστώμενη ανάγνωση
- Εκμάθηση Python DateTime με παραδείγματα
- Ευκαιρία εργασίας μερικής απασχόλησης για ειδικούς σεληνίου
- Εκμάθηση Java Reflection με παραδείγματα
- 10 καλύτερο λογισμικό ρολογιού ελεύθερου χρόνου για παρακολούθηση χρόνου εργαζομένων
- Εκτέλεση δοκιμαστικών περιπτώσεων με χρήση ALM / QC (Ημέρα 5 Micro Focus ALM QC Tutorial)
- Αντικείμενο αποθετηρίου στο QTP - Tutorial # 22
- Λειτουργίες ημερομηνίας και ώρας σε C ++ με παραδείγματα
- Το TimeShiftX κυκλοφόρησε για να απλοποιήσει τη δοκιμή Time Shift