Учебники

VB.Net — Дата и время

Большинство программ, которые вы пишете, нуждаются в реализации некоторой формы функций даты, возвращающих текущую дату и время. Свидания настолько важны в повседневной жизни, что с ними легко работать, не задумываясь. 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.
Следовательно, использование последнего поможет вам перенести код на другой язык .Net, например C #. Однако класс / модуль DateAndTime содержит все устаревшие функции даты, доступные в Visual Basic.

Замечания:

Как структура 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.

Следующий пример демонстрирует это —

Live Demo

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 —

Текущее время —

Live Demo

 Модуль dateNtime
    Sub Main ()
       Console.Write ("Текущее время:")
       ЕЫпе (Now.ToLongTimeString)
       Console.ReadKey ()
    End Sub
 Конечный модуль

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

Current Time: 11 :05 :32 AM

Текущая дата —

Live Demo

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, указав предопределенный или определенный пользователем формат даты.

Следующий пример демонстрирует это.

Live Demo

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 .

Следующая программа демонстрирует некоторые из них и методы —

Live Demo

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

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —