Работа с датами, временем
Опубликовано Декабрь 29, 2015 автором Памирыч
Прибавить к текущей дате определенное количество часов, дней, месяцев
Visual Basic .NET
1
2
3
Dim D As Date
D = D.AddDays(50)
MsgBox(D.ToLongDateString)
Или так:
Visual Basic .NET
1
2
Dim D As Date = Now
MsgBox(DateAdd(DateInterval.Day, 45, D))
Вычитание делается по той же схеме, но с отрицательными значениями
Получить текущую дату и время
Visual Basic .NET
1
MsgBox(Now.ToLongDateString & ", " & Now.ToLongTimeString)
Узнать день недели
Visual Basic .NET
1
MsgBox(Format(D, "dddd"))
День недели в численном представлении
Visual Basic .NET
1
MsgBox(D.DayOfWeek)
Узнать, високосный год или нет
Visual Basic .NET
1
MsgBox(Date.IsLeapYear(Now.Year))
Установить в компьютере системное время и дату
Visual Basic .NET
1
2
TimeString = "23:04:10"
DateString = "8/24/2011"
Подробнее о форматировании дат
Мы можем использовать даты и время еще гибче, благодаря функции Format.
Например:
Visual Basic .NET
1
2
3
Dim D As Date = Now
Dim FormatString As String
MsgBox(Format(D, FormatString))
Основные значения FormatString:
%s Секунды, если спереди ноль — он не пишется
fff Милисекунды
ss Секунды, всегда двузначное число
%m Минуты, если спереди ноль — он не пишется
mm Минуты, всегда двузначное число
%h Аналогично
hh с часами (представление от 0 до 12)
HH с часами (Представление от0 до 24)
%M Аналогично
MM с месяцами
ddd День недели, в сокращенном виде, например, Пн
dddd То же, но слово целиком, например, понедельник
MMM Месяц, в сокращенном виде, например, янв
MMMM То же, но в полном
%y Год, в сокращенном виде, 2 последние цифры, если предпоследняя не 0 и одна в противном случае
yy Год, 2 цифры в любом случае, например, 1996 год — 96
yyyy Год целиком
Исходя из этого, легко составлять свои строки для вывода информации:
dd-MM-yyyy
Или
Visual Basic .NET
1
2
Dim D As Date = Now
MsgBox(Format(D, "Сегодня dd -е число, год yyyy, а день недели - dddd, а месяц - MMMM"))
Обращаю внимание на регистр букв, т.е. если написать не dd, а DD или Dd, то формат не будет распознан