c datetime tutorial
Цей підручник пояснить все про клас C # DateTime. Ви навчитесь працювати з форматом C # DateTime, включаючи методи таймера, секундоміра та режиму сну:
Час і дата широко використовуються в декількох програмних проектах. Ми часто маємо справу з датами та часом, коли пишемо різні програми.
Дата-час має різні програми, такі як отримання поточної дати-часу, додавання позначки часу до назв змінних / файлів, використання часу дати для перевірки і т. Д. Завдяки такій кількості програм можна легко здогадатися, наскільки важливим є об’єкт дати-часу для програмістів.
=> Ознайомтесь із поглибленими навчальними посібниками для C # тут
Що ви дізнаєтесь:
- Як ініціалізувати об’єкт 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. Це встановить екземпляр часу даних за параметром, наданим нами. Після ініціалізації ми надрукували ініціалізований об'єкт на консолі, перетворивши його в рядок.
Результатом роботи вищезазначеної програми буде:
5.11.2018 00: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;
День року
Властивість «День року» отримує день року із встановленого значення дати в об’єкті дата-час. Він повертає ціле значення і не приймає жодного аргументу.
Синтаксис:
int dayYear = dt.DayOfYear;
Година
Властивість day отримує встановлену дату об’єкта дата-час. Він повертає ціле значення і не приймає жодного аргументу.
Синтаксис:
int hour = dt.Hour;
Хвилини
Властивість Min отримує хвилинне значення з встановленої дати об’єкта дати-часу. Він повертає ціле значення і не приймає жодного аргументу.
Синтаксис:
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
У наведеній вище програмі ми встановили значення дати 11.05.2018. Таким чином, ми можемо бачити, що система отримала ті самі значення, але коли ми подивимося на часову частину, ми побачимо значення за замовчуванням 0. Це тому, що ми не встановили жодного значення часу і, отже, системі автоматично присвоюються значення за замовчуванням до години, хвилини та секунди.
Що таке форматування дати?
Різні програми та різні програмісти можуть вимагати іншого формату дати для їх використання. Отже, форматування дати використовується для форматування дати за численними вимогами. DateTime також пропонує різні варіанти форматування для отримання дати у потрібному форматі.
Існують різні специфікатори, які пропонують вам бажаний формат дати. Тут ми обговоримо кілька популярних:
Формат короткого часу
Він відображає простий формат часу з годиною та хвилинами з суфіксом до ранку або вечора. У маленькому відмінку це позначається 't'.
де мій ключ безпеки мережі
Вихідний формат буде: 12:00 PM
Формат довгого часу
Він відображає розширений формат часу з годиною, хвилиною та секундою, суфіксом до ранку або вечора. Це позначається 'Т' у верхньому регістрі.
Вихідним форматом буде: 12:13:12 PM
Коротке побачення
Він відображає простий формат дати у форматі MM / DD / YYYY. Він позначається алфавітом 'd' у маленькому регістрі.
Вихідним форматом буде: 05.11.2018
Довге побачення
Він відображає розширений формат дати з днем, місяцем, днем та роком. Він позначається алфавітом 'D' у верхньому регістрі.
Вихідним форматом буде: понеділок, 05 листопада 2018 р
День / місяць
Він відображає формат дати з датою та місяцем. Він не містить деталей року. Він позначається алфавітом 'М' у верхньому регістрі.
Вихідний формат буде: 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(); } } }
Результатом роботи вищезазначеної програми буде:
Короткий час: 00:00
Довгий час: 00:00:00
Коротка дата: 5.11.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 #:
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 створює новий екземпляр кожного разу, коли його викликають, отже, він дуже корисний, коли ми хочемо запустити секундомір з самого початку.
Властивість Elapsed секундоміра дозволяє користувачеві реєструвати проміжок часу пробігу. Врешті-решт, ми просто надрукували минулий час на консолі.
Висновок
Час дати, таймер, режим сну та секундомір використовуються в мові програмування C # для задоволення різних цілей. Об'єкт DateTime використовується для збору інформації про дату та час роботи системи або для встановлення власної дати та часу для використання для конкретної вимоги програми.
З іншого боку, таймер використовується для встановлення інтервалу часу між виконанням певних команд або подій.
Сон є частиною System.Threading і використовується для призупинення або зупинки виконання протягом певного інтервалу часу. Це дозволяє програмістам запускати інший потік у багатопотоковому середовищі, коли попередній потік призупинено.
Секундомір можна використовувати для вимірювання продуктивності або часу, витраченого на виконання певної події. Він може запропонувати точне вимірювання часу, що минув, або галочки, які можна використовувати для контролю ефективності програми.
=> Ознайомтесь із цілою серією навчальних посібників C # тут
Рекомендована література
- Підручник із прикладами Python DateTime
- Можливість роботи на фріланс для експертів із селену
- Підручник з роздумів про Java з прикладами
- 10 найкращих програм для вільного часу для відстеження часу співробітників
- Виконання тестових випадків із використанням ALM / QC (Підручник з контролю якості ALM QA, день 5)
- Сховище об’єктів у QTP - Підручник №22
- Функції дати та часу в C ++ з прикладами
- TimeShiftX випущений для спрощення тестування зсуву в часі