Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


В приведенном ниже примере программы демонстрируется применение нескольких форматов даты и времени.




// Отформатировать дату и время, используя специальные форматы, using System;

class CustomTimeAndDateFormatsDemo { static void Main() {

DateTime dt = DateTime.Now;

Console.WriteLine("Время: {0:hh:mm tt}", dt);

Console.WriteLine("Время в 24-часовом формате: {0:HH:mm}", dt);

Console.WriteLine("Дата: {0:ddd МММ dd, yyyy}", dt);

Console.WriteLine("Эра: {0:gg}", dt);

Console.WriteLine("Время в секундах: " +

"{0:HH:mm:ss tt}", dt);

Console.WriteLine("День месяца в формате m: {0:m}", dt);

Console.WriteLine("Минуты в формате m: {0:%m}", dt);

Вот к какому результату приводит выполнение этой программы (опять же все зависит от конкретных настроек языковых и региональных параметров локализации базового программного обеспечения).

Время: 11:19 AM

Время 24-часовом формате: 11:19 Дата: Thu Feb 11, 2010 Эра: A.D.

Время в секундах: 11:19:40 AM День месяца в формате m: February 11 Минуты в формате ш: 19

Форматирование промежутков времени

Начиная с версии 4.0, в среде.NET Framework появилась возможность форматировать объекты типа Time Span — структуры, представляющей промежуток времени. Объект типа Time Span может быть получен самыми разными способами, в том числе и в результате вычитания одного объекта типа DateTime из другого. И хотя форматировать объекты типа Time Span приходится нечасто, о такой возможности все же стоит упомянуть вкратце.

По умолчанию в структуре Time Span поддерживаются три стандартных спецификатора формата даты и времени: с, g и G. Они обозначают инвариантную форму промежутка времени, короткую и длинную форму с учетом культурной среды соответственно (последняя форма всегда включает в себя дни). Кроме того, в структуре Time Span поддерживаются специальные спецификаторы формата даты и времени, приведенные в табл. 22.9. Вообще говоря, если один из этих спецификаторов используется в отдельности, его нужно предварить символом %.

Таблица 22.9. Символы-заполнители специального формата промежутка времени

 

Символ-заполнитель

 

Назначение

 

d, dd,

 

ddd, dddd,

 

Целые дни. Если указано несколько символов-заполнителей

 

ddddd,

 

dddddd,

 

ddddddd

 

d, то отображается, по крайней мере, указанное количество цифр с начальными нулями, если требуется

 

h, hh

 

Часы (не считая тех, что составляют часть целого дня). Если указано hh, то отображаются две цифры с начальными нулями, если требуется

 

m, mm

 

Минуты (не считая тех, что составляют часть целого часа). Если указано mm, то отображаются две цифры с начальными нулями, если требуется

 

s, ss

 

Секунды (не считая тех, что составляют часть целой минуты). Если указано ss, то отображаются две цифры с начальными нулями, если требуется

 

f, ff,

 

fff, ffff,

 

Дробные доли секунды. Количество символов-заполнителей

 

fffff,

 

ffffff,

 

fffffff

 

f обозначает точность представления, а остальные цифры отбрасываются

 

F, FF,

 

FFF, FFFF,

 

Дробные доли секунды. Количество символов-заполнителей

 

FFFFF,

 

FFFFFF,

 

FFFFFFF

 

F обозначает точность представления, а остальные цифры отбрасываются и конечные нули не отображаются

 

В приведенной ниже программе демонстрируется форматирование объектов типа TimeSpan на примере отображения времени, которое приблизительно требуется для вывода на экран 1000 целых значений в цикле for.

// Отформатировать объект типа TimeSpan.

Using System;

class TimeSpanDemo { static void Main() {

DateTime start = DateTime.Now;

// Вывести числа от 1 до 1000. for(int i = 1; i <= 1000; i++) {

Console.Write(i + " ");

if((i % 10) == 0) Console.WriteLine();

}

Console.WriteLine();

DateTime end = DateTime.Now;

TimeSpan span = end - start;

Console.WriteLine("Время выполнения: {0:c}", span);

Console.WriteLine("Время выполнения: {0:g}", span);

Console.WriteLine("Время выполнения: {0:G}", span);

Console.WriteLine("Время выполнения: 0.{0:fff} секунды", span);

}

}

Выполнение этой программы приводит к следующему результату, который и в этом случае зависит от конкретных настроек языковых и региональных параметров локализации базового программного обеспечения, а также от загрузки системы задачами и ее быстродействия.

981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 Время выполнения: 00:00:00.0140000 Время выполнения: 0:00:00.014 Время выполнения: 0:00:00:00.0140000 Время выполнения: 0.014 секунды

Форматирование перечислений

В C# допускается также форматировать значения, определяемые в перечислении. Вообще говоря, значения из перечисления могут отображаться как по имени, так и по значению. Спецификаторы формата перечислений сведены в табл. ”22.10. Обратите особое внимание на форматы G и F. Перед перечислениями, которые должны представлять битовые поля, следует указывать атрибут Flags. Как правило, в битовых полях хранятся значения, обозначающие отдельные двоичные разряды и упорядоченные по степени числа 2. При наличии атрибута Flags имена всех битовых составляющих форматируемого значения, если, конечно, это действительное значение, отображаются с помощью спецификатора G. А с помощью спецификатора F отображаются имена всех битовых составляющих форматируемого значения, если оно составляется путем логического сложения по ИЛИ двух или более полей, определяемых в перечислении.

Таблица 22.10. Спецификаторы формата перечислений Спецификатор Назначение

D Отображает значение в виде десятичного целого числа

d То же, что и D

F Отображает имя значения. Если это значение можно создать путем логиче

ского сложения по ИДИ двух или более полей, определенных в перечислении, то данный спецификатор отображает имена всех битовых составляющих заданного значения, причем независимо оттого, задан атрибут Flags или нет

f То же, что и F

G Отображает имя значения. Если перед форматируемым перечислением ука

зывается атрибут Flags, то данный спецификатор отображает имена всех битовых составляющих заданного значения, если, конечно, это допустимое значение g То же, что и G

X Отображает значение в виде шестнадцатеричного целого числа. Для отобра

жения как минимум восьми цифр форматируемое значение дополняется (при необходимости) начальными нулями х_То же, что и X_





Поделиться с друзьями:


Дата добавления: 2016-12-03; Мы поможем в написании ваших работ!; просмотров: 496 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

2372 - | 2321 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.