Большинство программ, которые вы пишете, нуждаются в реализации некоторой формы функций даты, возвращающих текущую дату и время. Свидания настолько важны в повседневной жизни, что с ними легко работать, не задумываясь. VB.Net также предоставляет мощные инструменты для арифметики дат, которые упрощают манипулирование датами.
Тип данных Date содержит значения даты, значения времени или значения даты и времени. Значение по умолчанию Дата — 0:00:00 (полночь) 1 января 0001 года. Эквивалентный тип данных .NET — System.DateTime .
Структура DateTime представляет момент времени, обычно выражаемый в виде даты и времени дня.
'Declaration <SerializableAttribute> _ Public Structure DateTime _ Implements IComparable, IFormattable, IConvertible, ISerializable, IComparable(Of DateTime), IEquatable(Of DateTime)
Вы также можете получить текущую дату и время из класса DateAndTime.
Модуль DateAndTime содержит процедуры и свойства, используемые в операциях даты и времени.
'Declaration <StandardModuleAttribute> _ Public NotInheritable Class DateAndTime
Замечания: Как структура DateTime, так и модуль DateAndTime содержат свойства, такие как Now и Today , поэтому новичкам часто кажется, что это сбивает с толку. Класс DateAndTime принадлежит пространству имен Microsoft.VisualBasic, а структура DateTime принадлежит пространству имен System. |
Замечания:
Как структура DateTime, так и модуль DateAndTime содержат свойства, такие как Now и Today , поэтому новичкам часто кажется, что это сбивает с толку. Класс DateAndTime принадлежит пространству имен Microsoft.VisualBasic, а структура DateTime принадлежит пространству имен System.
Следовательно, использование последнего поможет вам перенести код на другой язык .Net, например C #. Однако класс / модуль DateAndTime содержит все устаревшие функции даты, доступные в Visual Basic.
Свойства и методы структуры DateTime
В следующей таблице перечислены некоторые из наиболее часто используемых свойств структуры DateTime.
Sr.No | Имущество | Описание |
---|---|---|
1 | Дата | Получает компонент даты этого экземпляра. |
2 | День | Получает день месяца, представленный этим экземпляром. |
3 | День недели | Получает день недели, представленный этим экземпляром. |
4 | DayOfYear | Получает день года, представленный этим экземпляром. |
5 | Час | Получает компонент часов даты, представленной этим экземпляром. |
6 | Добрый | Получает значение, которое указывает, основано ли время, представленное этим экземпляром, на местном времени, всемирном координированном времени (UTC) или ни на одном. |
7 | миллисекунды | Получает компонент в миллисекундах даты, представленной этим экземпляром. |
8 | минут | Получает минутный компонент даты, представленной этим экземпляром. |
9 | Месяц | Получает компонент месяца даты, представленной этим экземпляром. |
10 | Сейчас | Получает объект DateTime , для которого установлены текущие дата и время на этом компьютере, выраженные в виде местного времени. |
11 | второй | Получает компонент секунд даты, представленной этим экземпляром. |
12 | Клещи | Получает количество тиков, представляющих дату и время этого экземпляра. |
13 | TimeOfDay | Получает время суток для этого экземпляра. |
14 | сегодня | Получает текущую дату. |
15 | UtcNow | Получает объект DateTime , для которого на текущем компьютере установлены текущие дата и время, выраженные как всемирное координированное время (UTC). |
16 | Год | Получает компонент года даты, представленной этим экземпляром. |
В следующей таблице перечислены некоторые из наиболее часто используемых методов структуры DateTime.
Sr.No | Название и описание метода |
---|---|
1 |
Открытая функция Add (значение как TimeSpan) как DateTime Возвращает новый DateTime, который добавляет значение указанного TimeSpan к значению этого экземпляра. |
2 |
Открытая функция AddDays (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество дней к значению этого экземпляра. |
3 |
Открытая функция AddHours (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество часов к значению этого экземпляра. |
4 |
Открытая функция AddMinutes (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество минут к значению этого экземпляра. |
5 |
Открытая функция AddMonths (месяцы как целое число) как дата и время Возвращает новый DateTime, который добавляет указанное количество месяцев к значению этого экземпляра. |
6 |
Открытая функция AddSeconds (значение как Double) как DateTime Возвращает новый DateTime, который добавляет указанное количество секунд к значению этого экземпляра. |
7 |
Открытая функция AddYears (значение как целое число) как DateTime Возвращает новый DateTime, который добавляет указанное число лет к значению этого экземпляра. |
8 |
Сравнение общедоступных общих функций (t1 как DateTime, t2 как DateTime) как целое число Сравнивает два экземпляра DateTime и возвращает целое число, указывающее, является ли первый экземпляр более ранним, чем тот же или более поздним, чем второй. |
9 |
Открытая функция CompareTo (значение как DateTime) как целое число Сравнивает значение этого экземпляра с указанным значением DateTime и возвращает целое число, указывающее, является ли этот экземпляр более ранним, таким же или позже указанного значения DateTime. |
10 |
Открытая функция Equals (значение As DateTime) As Boolean Возвращает значение, указывающее, равно ли значение этого экземпляра значению указанного экземпляра DateTime. |
11 |
Открытая общая функция равна (t1 как DateTime, t2 как DateTime) как логическое значение Возвращает значение, указывающее, имеют ли два экземпляра DateTime одинаковые значения даты и времени. |
12 |
Открытая функция переопределения ToString As String Преобразует значение текущего объекта DateTime в его эквивалентное строковое представление. |
Открытая функция Add (значение как TimeSpan) как DateTime
Возвращает новый DateTime, который добавляет значение указанного TimeSpan к значению этого экземпляра.
Открытая функция AddDays (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество дней к значению этого экземпляра.
Открытая функция AddHours (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество часов к значению этого экземпляра.
Открытая функция AddMinutes (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество минут к значению этого экземпляра.
Открытая функция AddMonths (месяцы как целое число) как дата и время
Возвращает новый DateTime, который добавляет указанное количество месяцев к значению этого экземпляра.
Открытая функция AddSeconds (значение как Double) как DateTime
Возвращает новый DateTime, который добавляет указанное количество секунд к значению этого экземпляра.
Открытая функция AddYears (значение как целое число) как DateTime
Возвращает новый DateTime, который добавляет указанное число лет к значению этого экземпляра.
Сравнение общедоступных общих функций (t1 как DateTime, t2 как DateTime) как целое число
Сравнивает два экземпляра DateTime и возвращает целое число, указывающее, является ли первый экземпляр более ранним, чем тот же или более поздним, чем второй.
Открытая функция CompareTo (значение как DateTime) как целое число
Сравнивает значение этого экземпляра с указанным значением DateTime и возвращает целое число, указывающее, является ли этот экземпляр более ранним, таким же или позже указанного значения DateTime.
Открытая функция Equals (значение As DateTime) As Boolean
Возвращает значение, указывающее, равно ли значение этого экземпляра значению указанного экземпляра DateTime.
Открытая общая функция равна (t1 как DateTime, t2 как DateTime) как логическое значение
Возвращает значение, указывающее, имеют ли два экземпляра DateTime одинаковые значения даты и времени.
Открытая функция переопределения ToString As String
Преобразует значение текущего объекта DateTime в его эквивалентное строковое представление.
Приведенный выше список методов не является исчерпывающим, пожалуйста, посетите документацию Microsoft для полного списка методов и свойств структуры DateTime.
Создание объекта DateTime
Вы можете создать объект DateTime одним из следующих способов:
-
Вызывая конструктор DateTime из любого перегруженного конструктора DateTime.
-
Присваивая объекту DateTime значение даты и времени, возвращаемое свойством или методом.
-
Разбор строкового представления значения даты и времени.
-
Вызывая неявный конструктор по умолчанию для структуры DateTime.
Вызывая конструктор DateTime из любого перегруженного конструктора DateTime.
Присваивая объекту DateTime значение даты и времени, возвращаемое свойством или методом.
Разбор строкового представления значения даты и времени.
Вызывая неявный конструктор по умолчанию для структуры DateTime.
Следующий пример демонстрирует это —
Module Module1 Sub Main() 'DateTime constructor: parameters year, month, day, hour, min, sec Dim date1 As New Date(2012, 12, 16, 12, 0, 0) 'initializes a new DateTime value Dim date2 As Date = #12/16/2012 12:00:52 AM# 'using properties Dim date3 As Date = Date.Now Dim date4 As Date = Date.UtcNow Dim date5 As Date = Date.Today Console.WriteLine(date1) Console.WriteLine(date2) Console.WriteLine(date3) Console.WriteLine(date4) Console.WriteLine(date5) Console.ReadKey() End Sub End Module
Когда приведенный выше код был скомпилирован и выполнен, он дает следующий результат —
12/16/2012 12:00:00 PM 12/16/2012 12:00:52 PM 12/12/2012 10:22:50 PM 12/12/2012 12:00:00 PM
Получение текущей даты и времени
Следующие программы демонстрируют, как получить текущую дату и время в VB.Net —
Текущее время —
Модуль dateNtime Sub Main () Console.Write ("Текущее время:") ЕЫпе (Now.ToLongTimeString) Console.ReadKey () End Sub Конечный модуль
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Current Time: 11 :05 :32 AM
Текущая дата —
Module dateNtime Sub Main() Console.WriteLine("Current Date: ") Dim dt As Date = Today Console.WriteLine("Today is: {0}", dt) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Today is: 12/11/2012 12:00:00 AM
Форматирование даты
Литерал Date должен быть заключен в хеш-символы (# #) и указан в формате M / d / yyyy, например # 12/16/2012 #. В противном случае ваш код может измениться в зависимости от локали, в которой работает ваше приложение.
Например, вы указали литерал Date # 2/6/2012 # для даты 6 февраля 2012 г. Это нормально для локали, которая использует формат mm / dd / yyyy. Однако в локали, использующей формат dd / mm / yyyy, ваш литерал будет скомпилирован до 2 июня 2012 г. Если в локали используется другой формат, скажем, yyyy / mm / dd, литерал будет недействительным и приведет к ошибке компилятора.
Чтобы преобразовать литерал Date в формат вашей локали или в пользовательский формат, используйте функцию Format класса String, указав предопределенный или определенный пользователем формат даты.
Следующий пример демонстрирует это.
Module dateNtime Sub Main() Console.WriteLine("India Wins Freedom: ") Dim independenceDay As New Date(1947, 8, 15, 0, 0, 0) ' Use format specifiers to control the date display. Console.WriteLine(" Format 'd:' " & independenceDay.ToString("d")) Console.WriteLine(" Format 'D:' " & independenceDay.ToString("D")) Console.WriteLine(" Format 't:' " & independenceDay.ToString("t")) Console.WriteLine(" Format 'T:' " & independenceDay.ToString("T")) Console.WriteLine(" Format 'f:' " & independenceDay.ToString("f")) Console.WriteLine(" Format 'F:' " & independenceDay.ToString("F")) Console.WriteLine(" Format 'g:' " & independenceDay.ToString("g")) Console.WriteLine(" Format 'G:' " & independenceDay.ToString("G")) Console.WriteLine(" Format 'M:' " & independenceDay.ToString("M")) Console.WriteLine(" Format 'R:' " & independenceDay.ToString("R")) Console.WriteLine(" Format 'y:' " & independenceDay.ToString("y")) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
India Wins Freedom: Format 'd:' 8/15/1947 Format 'D:' Friday, August 15, 1947 Format 't:' 12:00 AM Format 'T:' 12:00:00 AM Format 'f:' Friday, August 15, 1947 12:00 AM Format 'F:' Friday, August 15, 1947 12:00:00 AM Format 'g:' 8/15/1947 12:00 AM Format 'G:' 8/15/1947 12:00:00 AM Format 'M:' 8/15/1947 August 15 Format 'R:' Fri, 15 August 1947 00:00:00 GMT Format 'y:' August, 1947
Предопределенные форматы даты / времени
В следующей таблице указаны предварительно заданные имена форматов даты и времени. Они могут использоваться по имени в качестве аргумента стиля для функции Format —
Формат | Описание |
---|---|
Общая дата или G | Отображает дату и / или время. Например, 12.01.2012 07:07:30. |
Длинная дата, средняя дата или D | Отображает дату в соответствии с длинным форматом вашей текущей культуры. Например, воскресенье, 16 декабря 2012 года. |
Короткая дата или д | Отображает дату, используя краткий формат даты вашей текущей культуры. Например, 12.12.2012. |
Долгое время, Среднее время, orT | Отображает время, используя формат времени вашей текущей культуры; обычно включает часы, минуты, секунды. Например, 01:07:30. |
Короткое время или т | Отображает время, используя формат времени вашей текущей культуры. Например, 11:07. |
е | Отображает длинную дату и короткое время в соответствии с форматом вашей текущей культуры. Например, воскресенье, 16 декабря 2012 г., 12:15. |
F | Отображает длинную дату и долгое время в соответствии с форматом вашей текущей культуры. Например, воскресенье, 16 декабря 2012 г., 12:15:31. |
г | Отображает короткую дату и короткое время в соответствии с форматом вашей текущей культуры. Например, 16.12.2012 00:15. |
М, м | Отображает месяц и день даты. Например, 16 декабря. |
R, R | Форматирует дату в соответствии со свойством RFC1123Pattern. |
s | Форматирует дату и время в качестве сортируемого индекса. Например, 2012-12-16T12: 07: 31. |
U | Форматирует дату и время в качестве сортируемого индекса GMT. Например, 2012-12-16 12: 15: 31Z. |
U | Форматирует дату и время с длинной датой и долгим временем как GMT. Например, воскресенье, 16 декабря 2012 г., 6:07:31. |
Y, у | Форматирует дату как год и месяц. Например, декабрь 2012 г. |
Для других форматов, таких как пользовательские форматы, пожалуйста, обратитесь к документации Microsoft .
Свойства и методы класса DateAndTime
В следующей таблице перечислены некоторые из наиболее часто используемых свойств класса DateAndTime.
Sr.No | Описание недвижимости |
---|---|
1 |
Дата Возвращает или задает строковое значение, представляющее текущую дату в соответствии с вашей системой. |
2 |
Сейчас Возвращает значение Date, содержащее текущую дату и время в соответствии с вашей системой. |
3 |
TimeOfDay Возвращает или устанавливает значение Date, содержащее текущее время дня в соответствии с вашей системой. |
4 |
таймер Возвращает значение Double, представляющее количество секунд, прошедших с полуночи. |
5 |
TimeString Возвращает или задает строковое значение, представляющее текущее время дня в соответствии с вашей системой. |
6 |
сегодня Получает текущую дату. |
Дата
Возвращает или задает строковое значение, представляющее текущую дату в соответствии с вашей системой.
Сейчас
Возвращает значение Date, содержащее текущую дату и время в соответствии с вашей системой.
TimeOfDay
Возвращает или устанавливает значение Date, содержащее текущее время дня в соответствии с вашей системой.
таймер
Возвращает значение Double, представляющее количество секунд, прошедших с полуночи.
TimeString
Возвращает или задает строковое значение, представляющее текущее время дня в соответствии с вашей системой.
сегодня
Получает текущую дату.
В следующей таблице перечислены некоторые из наиболее часто используемых методов класса DateAndTime.
Sr.No | Название и описание метода |
---|---|
1 |
Открытая общая функция DateAdd (Interval As DateInterval, Number As Double, DateValue As DateTime) As DateTime Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени. |
2 |
Открытая общая функция DateAdd (Interval As String, Number As Double, DateValue As Object) As DateTime Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени. |
3 |
Открытая общая функция DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, DayOfWeek As FirstDayOfWeek, WeekOfYear As FirstWeekOfYear) As Long Возвращает значение Long, указывающее количество временных интервалов между двумя значениями Date. |
4 |
Открытая общая функция DatePart (Interval As DateInterval, DateValue As DateTime, FirstDayOfWeekValue As FirstDayOfWeek, FirstWeekOfYearValue As FirstWeekOfYear) Как целое число Возвращает целочисленное значение, содержащее указанный компонент данного значения даты. |
5 |
Открытая общая функция Day (DateValue As DateTime) As Integer Возвращает целочисленное значение от 1 до 31, представляющее день месяца. |
6 |
Публичная общая функция час (TimeValue As DateTime) как целое число Возвращает целочисленное значение от 0 до 23, представляющее час дня. |
7 |
Публичная общая функция Minute (TimeValue As DateTime) As Integer Возвращает целочисленное значение от 0 до 59, представляющее минуты часа. |
8 |
Месяц общедоступной общей функции (DateValue As DateTime) As Integer Возвращает целочисленное значение от 1 до 12, представляющее месяц года. |
9 |
Открытая общая функция MonthName (Month As Integer, сокращенно Boolean) As String Возвращает строковое значение, содержащее название указанного месяца. |
10 |
Общедоступная общая функция Second (TimeValue As DateTime) As Integer Возвращает целочисленное значение от 0 до 59, представляющее секунду минуты. |
11 |
Открытая переопределяемая функция ToString As String Возвращает строку, которая представляет текущий объект. |
12 |
Открытая общая функция Weekday (DateValue As DateTime, DayOfWeek As FirstDayOfWeek) As Integer Возвращает целочисленное значение, содержащее число, представляющее день недели. |
13 |
Открытая общая функция WeekdayName (Weekday As Integer, сокращенно Boolean, FirstDayOfWeekValue As FirstDayOfWeek) As String Возвращает строковое значение, содержащее имя указанного дня недели. |
14 |
Public Shared Function Year (DateValue As DateTime) Как целое число Возвращает целочисленное значение от 1 до 9999, представляющее год. |
Открытая общая функция DateAdd (Interval As DateInterval, Number As Double, DateValue As DateTime) As DateTime
Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени.
Открытая общая функция DateAdd (Interval As String, Number As Double, DateValue As Object) As DateTime
Возвращает значение Date, содержащее значение даты и времени, к которому был добавлен указанный интервал времени.
Открытая общая функция DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, DayOfWeek As FirstDayOfWeek, WeekOfYear As FirstWeekOfYear) As Long
Возвращает значение Long, указывающее количество временных интервалов между двумя значениями Date.
Открытая общая функция DatePart (Interval As DateInterval, DateValue As DateTime, FirstDayOfWeekValue As FirstDayOfWeek, FirstWeekOfYearValue As FirstWeekOfYear) Как целое число
Возвращает целочисленное значение, содержащее указанный компонент данного значения даты.
Открытая общая функция Day (DateValue As DateTime) As Integer
Возвращает целочисленное значение от 1 до 31, представляющее день месяца.
Публичная общая функция час (TimeValue As DateTime) как целое число
Возвращает целочисленное значение от 0 до 23, представляющее час дня.
Публичная общая функция Minute (TimeValue As DateTime) As Integer
Возвращает целочисленное значение от 0 до 59, представляющее минуты часа.
Месяц общедоступной общей функции (DateValue As DateTime) As Integer
Возвращает целочисленное значение от 1 до 12, представляющее месяц года.
Открытая общая функция MonthName (Month As Integer, сокращенно Boolean) As String
Возвращает строковое значение, содержащее название указанного месяца.
Общедоступная общая функция Second (TimeValue As DateTime) As Integer
Возвращает целочисленное значение от 0 до 59, представляющее секунду минуты.
Открытая переопределяемая функция ToString As String
Возвращает строку, которая представляет текущий объект.
Открытая общая функция Weekday (DateValue As DateTime, DayOfWeek As FirstDayOfWeek) As Integer
Возвращает целочисленное значение, содержащее число, представляющее день недели.
Открытая общая функция WeekdayName (Weekday As Integer, сокращенно Boolean, FirstDayOfWeekValue As FirstDayOfWeek) As String
Возвращает строковое значение, содержащее имя указанного дня недели.
Public Shared Function Year (DateValue As DateTime) Как целое число
Возвращает целочисленное значение от 1 до 9999, представляющее год.
Приведенный выше список не является исчерпывающим. Полный список свойств и методов класса DateAndTime можно найти в документации Microsoft .
Следующая программа демонстрирует некоторые из них и методы —
Module Module1 Sub Main() Dim birthday As Date Dim bday As Integer Dim month As Integer Dim monthname As String ' Assign a date using standard short format. birthday = #7/27/1998# bday = Microsoft.VisualBasic.DateAndTime.Day(birthday) month = Microsoft.VisualBasic.DateAndTime.Month(birthday) monthname = Microsoft.VisualBasic.DateAndTime.MonthName(month) Console.WriteLine(birthday) Console.WriteLine(bday) Console.WriteLine(month) Console.WriteLine(monthname) Console.ReadKey() End Sub End Module
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —