В приведенном ниже примере программы демонстрируется применение специфи каторов формата даты и времени. // Отформатировать дату и время, используя стандартные форматы. using System; class TimeAndDateFormatDemo { static void Main { DateTime dt = DateTime.Now; // получить текущее время Console.WriteLine("Формат d: {0:d}", dt); Console.WriteLine("Формат D: {0:D}", dt); Console.WriteLine("Формат t: {0:t}", dt); Console.WriteLine("Формат T: {0:T}", dt); Console.WriteLine("Формат f: {0:f}", dt); Console.WriteLine("Формат F: {0:F}", dt); Console.WriteLine("Формат g: {0:g}", dt); Console.WriteLine("Формат G: {0:G}", dt); Console.WriteLine("Формат m: {0:m}", dt); Console.WriteLine("Формат M: {0:M}", dt); Console.WriteLine("Формат о: (0:o)", dt); Console.WriteLine("Формат O: (0:O}", dt); Console.WriteLine("Формат r: {0:r}", dt); Console.WriteLine("Формат R: {0:R}", dt); Console.WriteLine("Формат s: {0:s}", dt); Console.WriteLine("Формат u: {0:u}", dt); Console.WriteLine("Формат U: {0:U}", dt); Console.WriteLine("Формат у: {0:у}", dt); Console.WriteLine("Y format: {0:Y}", dt); } }
Эта программа дает следующий результат, который, впрочем, зависит от настроек языковых и региональных параметров локализации базового программного обеспе чения. Формат d: 2/11/2010 Формат D: Thursday, February 11, 2010 Формат t: 11:21 AM Формат T: 11:21:23 AM Формат f: Thursday, February 11, 2010 11:21 AM Формат F: Thursday, February 11, 2010 11:21:23 AM Формат g: 2/11/2010 11:21 AM Формат G: 2/11/2010 11:21:23 AM Формат m: February 11 Формат M: February 11 Формат о: 2010-02-11T11:21:23.3768153-06:00 Формат О: 2010-02-11T11:21:23.3768153-06:00 Формат r: Thu, 11 Feb 2010 11:21:23 GMT Формат R: Thu, 11 Feb 2010 11:21:23 GMT Формат s: 2010-02-11T11:21:23 Формат u: 2010-02-11 11:21:23Z Формат U: Thursday, February 11, 2010 5:21:23 PM Формат у: February, 2010 Формат Y: February, 2010
В следующем примере программы воспроизводятся очень простые часы. Время об новляется каждую секунду, и каждый час компьютер издает звонок. Для получения от форматированного строкового представления времени перед его выводом в этой про грамме используется метод ToString из структуры DateTime. Через каждый час символ звукового предупреждающего сигнала присоединяется к отформатированной строке, представляющей время, в результате чего звенит звонок. // Пример простых часов. using System; class SimpleClock { static void Main { string t; int seconds; DateTime dt = DateTime.Now; seconds = dt.Second; for(;;) { dt = DateTime.Now; // обновлять время через каждую секунду if (seconds != dt.Second) { seconds = dt.Second; t = dt.ToString("T"); if(dt.Minute==0 && dt.Second==0) t = t + "\a"; // производить звонок через каждый час Console.WriteLine(t); } } } } Определение пользовательского формата даты и времени
Несмотря на то что стандартные спецификаторы формата даты и времени пред усмотрены практически на все случаи жизни, пользователь может определить свои собственные специальные форматы. Процесс определения пользовательских форма тов даты и времени мало чем отличается от описанного выше для числовых типов зна чений. По существу, пользователь создает пример (т.е. изображение) того, как долж ны выглядеть выводимые данные даты и времени. Для определения пользовательского формата даты и времени служат символы-заполнители, перечисленные в табл. 22.8.