Как узнать текущее время в C#
Доброго времени суток! Эта статья будет короткой, но тем не менее, вопрос которому она посвящена достаточно часто встречается у начинающих программистов. А расскажу я в этой статье как можно узнать (получить) текущее время в программе, написанной на C#. Ну а чтобы эта статья не была уж очень короткой, я немного затрону и вопрос форматирования даты/времени при выводе пользователю (отображении). А теперь приступим к делу. Ниже приведен код консольной программы, которая получает текущие дату и время и выводит их в консоль. Посмотрев на этот код Вы поймете, насколько это просто…
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GetTime { class Program { static void Main(string[] args) { //Текущие дата/время хранятся в свойстве Now класса DateTime Console.WriteLine(DateTime.Now); //Получаем текущие дату и время, выводим их в консоль //Чтобы программа сразу же не закрылась Console.ReadKey(); } } }
Как можно было заметить из приведенного выше примера, текущие дата и время возвращаются статическим свойством «Now» класса «DateTime», соответственно для получения текущих даты и времени в нужном месте программы мы просто вставили «DateTime.Now». Причем в нашем случае, мы сразу же и вывели в консоль полученную информацию.
Свойство «Now» класса «DateTime» возвращает объект типа «DateTime», а при выводе в консоль, автоматически вызвался метод «ToString» данного класса.
То что метод «ToString» в нашем случае вызывается автоматически довольно удобно, если бы не одно но… В таком случае, мы получаем отформатированные по умолчанию вывод даты и времени. Если запустить программу на моем ПК, то получится примерно следующее:
Т.е. мы увидели на экране текущие и дату и время, причем в жестко определенном формате (и в каком именно, решали не мы)… А если нужно вывести только время (без даты)? Или указать не номер месяца, а его название? К счастью, при разработке в C# продумали эти варианты. Метод «ToString» класса «DateTime» имеет несколько вариантов перегрузки. И один из них мы как раз и будем использовать, чтобы получить нужный нам результат. Смотрите пример кода, приведенный ниже:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GetTime { class Program { static void Main(string[] args) { //Текущие дата/время хранятся в свойстве Now класса DateTime Console.WriteLine(DateTime.Now.ToString("HH:mm:ss")); //Выводим только время Console.WriteLine(DateTime.Now.ToString("dd MMMM yyyy")); //Выводим дату, выводится название месяца а не его номер //Чтобы программа сразу же не закрылась Console.ReadKey(); } } }
В примере мы сначала выводим исключительно время (для этого в качестве параметра метода «ToString» передаем строку «HH:mm:ss»), а потом выводим дату (передав строку «dd MMMM yyyy») в тот же метод. В результате получим следующий вывод в консоль:
Строки, которые мы указывали в качестве параметра метода «ToString» представляют собой формат вывода (нужный нам). Давайте для примера разберем строку значение формата «HH:mm:ss»:
- «HH» означает что в этом месте нужно вывести часы в 24-часовом формате;
- «:» просто разделить (тут может быть и другой символ, например, пробел или слэш…);
- «mm» означает что в этом месте нужно вывести минуты ( в формате «00»-«59»);
- «ss» означает что в этом месте нужно вывести секунды (в формате «00»-«59»).
Подробнее о форматированном выводе (преобразовании в строку) я расскажу в отдельной статье, а сейчас напомню, чтобы получить (узнать) текущие дату и время в своей программе, просто вставьте в нужно место «DateTime.Now». Например так:
//Получим текущее время (и дату) и сохраним её в переменную nowTime DateTime nowTime = DateTime.Now;
На сегодня всё…
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.