c datetime tutorial
W tym samouczku wyjaśniono wszystkie informacje o klasie DateTime języka C #. Nauczysz się pracować z formatem daty i godziny C #, w tym metodami timera, stopera i uśpienia:
Czas i data są szeroko stosowane w kilku projektach oprogramowania. Często mamy do czynienia z obiektami daty i czasu podczas pisania różnych programów.
Data czas ma różne zastosowania, takie jak pobieranie aktualnej daty i godziny, dodawanie znacznika czasu do nazw zmiennych / plików, używanie daty i godziny do walidacji itp. Przy tak wielu aplikacjach możesz łatwo zgadnąć, jak ważny jest obiekt daty i godziny dla programistów.
=> Sprawdź szczegółowe samouczki szkoleniowe języka C # tutaj
Czego się nauczysz:
- Jak zainicjować obiekt DateTime języka C #?
- Właściwości obiektu DateTime
- Co to jest formatowanie daty?
- Jak uzyskać aktualną datę i godzinę?
- Zegar C #
- C # stoper
- Co to jest metoda snu?
- Wniosek
- rekomendowane lektury
Jak zainicjować obiekt DateTime języka C #?
DateTime jest strukturą w przestrzeni nazw System. Pomaga programistom odzyskać informacje o dacie systemowej, godzinie, miesiącu, roku, a nawet dniu tygodnia. Umożliwia także użytkownikom wykonywanie operacji na pobranych wartościach daty i godziny.
Przyjrzyjmy się prostemu programowi, inicjując nowy obiekt DateTime. Kiedy inicjalizujemy nowy obiekt, będziemy musieli przekazać pewne parametry, aby ustawić wartość daty.
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(); } } }
Tutaj minęliśmy datę 05, miesiąc 11 i rok 2018. To ustawi instancję czasu danych na podany przez nas parametr. Po inicjalizacji wydrukowaliśmy zainicjowany obiekt na konsolę, konwertując go na łańcuch.
Wynik powyższego programu będzie:
11/5/2018 12:00:00
Na powyższym wyjściu widać, że ponieważ nie podaliśmy żadnej wartości czasu, stąd obiekt DateTime użył domyślnego czasu.
Właściwości obiektu DateTime
Obiekt DateTime oferuje szereg różnych właściwości ułatwiających użytkownikom pobieranie danych o obiekcie daty i godziny.
Tutaj omówimy kilka ważnych właściwości daty i czasu:
Dzień
Właściwość Day pobiera ustawioną datę z obiektu daty i godziny. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int date = dt.Day;
Miesiąc
Właściwość Month pobiera ustawiony miesiąc obiektu daty i godziny. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int month = dt.Month;
Rok
Właściwość Year pobiera ustawiony rok z obiektu daty i godziny. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int yr = dt.Year;
Dzień tygodnia
Właściwość Day of the week pobiera wartość całkowitą dnia tygodnia z ustawionego obiektu daty i godziny. Wymaga również rzutowania, aby zaakceptować wartość całkowitą. Nie przyjmuje żadnych argumentów.
Składnia:
int dayWeek = (int)dt.DayOfWeek;
Dzień roku
Właściwość dzień roku pobiera dzień roku z wartości daty ustawionej w obiekcie data-czas. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int dayYear = dt.DayOfYear;
Godzina
Właściwość Day pobiera ustawioną datę z obiektu daty i godziny. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int hour = dt.Hour;
Minuta
Właściwość Min pobiera wartość minuty z ustawionej daty obiektu daty i godziny. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int min = dt.Minute;
druga
Właściwość Second pobiera drugą wartość z ustawionej wartości obiektu daty i godziny. Zwraca wartość całkowitą i nie przyjmuje żadnego argumentu.
Składnia:
int sec = dt.Second;
Rzućmy okiem na prosty program do pobierania tych wartości.
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(); } } }
Wynik powyższego programu będzie:
Data: 5
Miesiąc: 11
Rok: 2018
Dzień tygodnia: 1
Dzień roku: 309
Godzina: 0
Minuta: 0
Po drugie: 0
W powyższym programie ustawiliśmy datę na 05/11/2018. W ten sposób widzimy, że system pobrał te same wartości, ale gdy spojrzymy na część czasu, zobaczymy, że domyślna wartość wynosi 0. Dzieje się tak, ponieważ nie ustawiliśmy żadnej wartości czasu, a zatem system automatycznie przypisał wartości domyślne do godziny, minuty i sekundy.
Co to jest formatowanie daty?
Różne aplikacje i różni programiści mogą wymagać innego formatu daty do ich użycia. Tak więc formatowanie daty służy do formatowania daty dla wielu wymagań. DateTime oferuje również różne opcje formatowania, aby uzyskać datę w żądanym formacie.
Istnieją różne specyfikatory, które umożliwiają określenie żądanego formatu daty. Tutaj omówimy kilka popularnych:
Format krótkiego czasu
Wyświetla prosty format czasu z godziną i minutami z przyrostkiem AM lub PM. W małej obudowie jest oznaczony literą „t”.
najlepsze aplikacje szpiegowskie na telefony z systemem Android
Format wyjściowy to: 12:00 PM
Format długi
Wyświetla rozszerzony format czasu z godziną, minutą i sekundą z przyrostkiem AM lub PM. Jest oznaczony literą „T” w górnej części.
Format wyjściowy to: 12:13:12 PM
Krótka randka
Wyświetla prosty format daty w formacie MM / DD / RRRR. Jest oznaczony alfabetem „d” w małej obudowie.
Format wyjściowy będzie następujący: 05.11.2018
Data długa
Wyświetla rozszerzony format daty z dniem, miesiącem, dniem i rokiem. Jest oznaczony alfabetem „D” z dużej litery.
Format wyjściowy to: poniedziałek, 05 listopada 2018
Dzień miesiąca
Wyświetla format daty z datą i miesiącem. Nie zawiera szczegółów roku. Jest oznaczony wielką literą „M”.
Format wyjściowy będzie następujący: 5 listopada
Miesiąc, rok
Wyświetla format daty z miesiącem i rokiem. Nie zawiera szczegółów dotyczących daty. Jest oznaczony wielką literą „Y”.
Format wyjściowy to: listopad 2018
Przyjrzyjmy się im szczegółowo za pomocą prostego programu.
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(); } } }
Wynik powyższego programu będzie:
Krótki czas: 00:00
Długi czas: 12:00:00
Data skrócona: 05.11.2018
Data długa: poniedziałek, 5 listopada 2018 r
Dzień z miesiącem: 5 listopada
Miesiąc z rokiem: listopad 2018
W powyższym programie zainicjowaliśmy wartość daty w pierwszym wierszu, a następnie próbowaliśmy użyć tej samej wartości, aby uzyskać różne formaty.
Jak uzyskać aktualną datę i godzinę?
Obiekt DateTime zawiera szereg różnych metod uzyskiwania dostępu do czasu systemowego. Metoda „Now” pozwala uzyskać aktualny czas / datę systemową, a nawet umożliwia operowanie na niej.
Składnia do uzyskania aktualnego czasu będzie wyglądać następująco:
DateTime today = DateTime.Now;
Kiedyś zdefiniowaliśmy i zapisaliśmy teraz w obiekcie DateTime. Możemy łatwo przekonwertować go na ciąg znaków, aby uzyskać aktualną datę i godzinę, lub możemy nawet zmienić format daty za pomocą omówionych powyżej specyfikatorów.
Zegar C #
Licznik czasu w C # pozwala programistom na ustawienie przedziału czasu do wykonania określonego zestawu kodu lub instrukcji w sposób cykliczny. Jest to bardzo przydatne w przypadku, gdy specyfikacja aplikacji wymaga wykonania zdarzenia po każdym określonym interwale.
Na przykład, podczas wdrażania aplikacji do archiwizacji danych.
Przyjrzyjmy się prostemu programowi do implementacji timera:
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')); } } }
Tak więc, jeśli uruchomisz ten program, będzie on zapisywał czas co 2 sekundy.
W powyższym programie najpierw zainicjowaliśmy System.Timer. Następnie ustawiamy czas interwału dla timera. Tutaj utrzymaliśmy interwał wynoszący 2000 milisekund, możesz zapewnić dowolną implementację zgodnie z wymaganiami. Po upływie tego czasu musimy uruchomić jakąś instrukcję, wywołując jakąś metodę.
Tutaj co dwie sekundy nazywaliśmy „OnTimerEvent”. Metoda przyjmie dwa parametry, pierwszy to „object”, a drugi to „ElapsedEventArgs”.
Musimy również zresetować licznik czasu za każdym razem, gdy osiągnie interwał, a także musimy go włączyć. W związku z tym zarówno automatyczne resetowanie, jak i włączenie timera są oznaczone jako prawda. Następnie piszemy naszą niestandardową wiadomość do konsoli, a także dodajemy readline, aby upewnić się, że konsola pozostanie otwarta do czasu interwencji użytkownika.
C # stoper
Stoper jest używany w C # do pomiaru czasu. Jest to bardzo przydatne w testowaniu wydajności kodu podczas optymalizacji kodu. Może być używany do ciągłego monitorowania wydajności kodu / aplikacji oraz do sprawdzania obniżenia wydajności.
Stoper może dokładnie mierzyć czas, jaki upłynął podczas wydarzenia i jest idealnym wyborem do odmierzania czasu dowolnego wydarzenia w programie. Klasa Stopwatch jest zdefiniowana w przestrzeni nazw System.Diagnostics i musi zostać utworzona w celu użycia. To sprawia, że jest całkiem przydatny w aplikacjach wymagających wielowątkowości. Wywołania zdarzeń można wykonać za pomocą metody thread.sleep.
Co to jest metoda snu?
Metoda uśpienia służy do wstrzymywania uruchomionego wątku na określony czas. Akceptuje czas w milisekundach. Uśpienie jest bardzo przydatne w środowisku wielowątkowym, w którym jeden wątek ma się zatrzymać, aby zrobić miejsce dla innych wątków, aby zakończyć ich wykonanie.
Składnia metody C # Sleep jest następująca:
System.Threading.Thread.Sleep(1000);
Teraz dowiedzieliśmy się o śnie i innych zajęciach ze stoperem.
Stwórzmy prosty program stopera, aby lepiej zrozumieć rzeczy.
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(); } } }
Wynik
Wynik powyższego programu będzie wyglądał mniej więcej tak:
Ostatnia linia pokazuje czas, jaki upłynął między startem i zatrzymaniem stopera.
W powyższym programie zdefiniowaliśmy zmienny stoper, w którym zapisaliśmy instancję klasy Stopwatch. Użyliśmy metody StartNew (). Metoda startnew tworzy nową instancję przy każdym wywołaniu, stąd jest bardzo przydatna, gdy chcemy uruchomić stoper od początku.
Właściwość Elapsed stopera umożliwia użytkownikowi rejestrowanie przedziału czasu wykonywania. Na koniec po prostu wydrukowaliśmy upływający czas na konsoli.
Wniosek
Data, czas, zegar, uśpienie i stoper są używane w języku programowania C # do różnych celów. Obiekt DateTime służy do zbierania informacji o dacie i godzinie systemu lub do ustawiania niestandardowej daty i godziny do użycia dla określonych wymagań aplikacji.
Z drugiej strony zegar służy do ustawiania odstępu czasu między wykonaniem określonych poleceń lub zdarzeń.
Uśpienie jest częścią System.Threading i służy do wstrzymywania lub zatrzymywania wykonywania na określony czas. Pozwala to programistom na rozpoczęcie kolejnego wątku w środowisku wielowątkowym, podczas gdy poprzedni wątek jest wstrzymany.
Stoper może służyć do pomiaru wydajności lub czasu spędzonego na realizacji określonego zdarzenia. Może zaoferować dokładny pomiar czasu, który upłynął lub liczby tyknięć, które można wykorzystać do kontrolowania wydajności aplikacji.
=> Zapoznaj się z całą serią samouczków szkoleniowych języka C # tutaj
rekomendowane lektury
- Python DateTime Tutorial z przykładami
- Możliwość pracy w niepełnym wymiarze godzin jako freelancer dla ekspertów Selenium
- Samouczek dotyczący refleksji w języku Java z przykładami
- 10 najlepszych darmowych programów do śledzenia czasu pracowników
- Wykonywanie przypadków testowych przy użyciu ALM / QC (dzień 5 samouczka Micro Focus ALM QC)
- Repozytorium obiektów w QTP - samouczek nr 22
- Funkcje daty i czasu w C ++ z przykładami
- TimeShiftX został wydany, aby uprościć testowanie przesunięcia w czasie