Давайте продолжим серию учебников по разработке Mango для Windows Phone 7.5! В нашем предыдущем уроке мы рассмотрели манипуляции с строкой и все способы, которыми мы можем это сделать в библиотеке.NET Class. Вы часто будете работать с датой и временем, поэтому этот урок фокусируется на работе с Класс DateTime, работа с математикой Date Time, форматирование DateTime и многое другое.
Давайте начнем!
Как и в нашем предыдущем уроке, мы создадим новый проект с уникальным именем. В окне дизайна у нас будет кнопка в левом верхнем углу и текстовый блок ниже (см. Изображение).
DateTime myValue = DateTime.Now;
myTextBlock.Text = myValue.ToString ();
Первая строка создает объект класса DateTime с именем myValue. Значение объекта установлено в DateTime. Теперь, чтобы он получил значение даты и времени в этом текущем экземпляре. Сохраненная дата и время основаны на региональных настройках даты и времени телефона. Вторая строка просто отображает его в TextBlock. Помните, TextBlock. Текстовый атрибут имеет тип данных String, поэтому мы преобразуем значение DateTime в String с использованием метода ToString (). Это так же просто, как при работе с базовым DateTime.
1. myTextBlock.Text = myValue.ToShortDateString ();
Этот оператор отображает только дату в формате короткой даты, то есть dd / mm / yyyy или mm / dd / yyyy, в зависимости от региональных настроек времени. Например. 03/01/2012
2. myTextBlock.Text = myValue.ToShortTimeString ();
В этом заявлении мы используем метод ToShortTimeString () для отображения только времени. Например. 1:06 PM
3. myTextBlock.Text = myValue.ToLongDateString ();
В этом заявлении метод ToLongDateString () отображает День недели, за которым следует дата в цифрах, месяц в алфавите и год в цифрах. Например. Четверг, 1 марта 2012 г.
Теперь, если вы хотите отобразить дату после вычитания через 3 дня? Чтобы переносить нашу математику на объекты DateTime, класс DateTime имеет множество методов. В нашем случае мы будем использовать метод AddDays () со значением параметра как -3. Результат - 02/27/2012 или 27/02/2012 в зависимости от региональных настроек даты DateTime.
myTextBlock.Text = myValue.AddDays (-3).ToShortDateString ();
Если вам нужно было добавить дни, вы должны использовать положительное целое число в качестве значения параметра для метода AddDays (). Аналогично, вы можете выполнять математику в части времени DateTime с помощью таких методов, как AddHours (), AddMinutes () и т. Д. Обратите внимание, как мы объединяем методы вместе.
myTextBlock.Text = myValue.AddDays (3).ToShortDateString ();
myTextBlock.Text = myValue.AddHours (3).ToShortTimeString ();
Двигаясь дальше, предположим, что вам приходилось работать только с частью даты, когда вы хотели работать с месяцем, тогда вы могли бы сделать что-то вроде этого
myTextBlock.Text = myValue.Month.ToString ();
Обратите внимание, что Month возвращает целочисленное значение, и поэтому мы используем метод ToString () для его отображения в TextBlock. Аналогичным образом вы можете получить доступ к ряду атрибутов, таких как День, День недели, День года, секунды, минуты, часы и т. Д.
Теперь давайте посмотрим на объект TimeSpan. TimeSpan - это не конкретная дата, а промежуток времени между двумя датами или временем. Поэтому, если вы хотите узнать свой возраст, вы можете сделать что-то подобное.
TimeSpan myAge = DateTime.Now.Subtract (myBirthday);
myTextBlock.Text = myAge.ToString ();
Метод Subtract () имеет возвращаемый тип типа TimeSpan. Вы можете использовать комбинацию свойств и методов для перевода выводимого результата в число лет, месяцев, дней, часов, минут и секунд.
Вот для этого набора учебников; вы можете найти дополнительную информацию о DateTime и TimeSpan, посетив MSDN.
В следующем учебном пособии мы узнаем о понимании и создании классов … до тех пор … берегитесь! 🙂