Программирование
Веб программирование

VB Net работа с датами

 
 

Функции для работы со временем в VB.Net немного изменились, теперь, чтобы узнать текущее время есть функция - TimeString, чтобы узнать дату - DateString.
Сейчас мы сделаем программу которая будет узнавать текущию дату и время. На форме размести таймер(Enabled = True, Interval = 1000), и 2 метки(Label)(AutoSize = True(чтобы размеры метки автоматически регулировались, взависимости от текста в метке), Text = "").

Вот код:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = "Время: " & TimeString
Label2.Text = "Дата: " & DateString
End Sub

Помимо этих двух функций в VB.Net сохранились функции для работы со временем: Hour()(часы), Minute()(минуты), Second()(секунды). Эти функции вырезают часы, минуты, секунды из указанно времени. Например, Minute(TimeString) - вырезает минуты из текущего времени. И с прежних версий VB остались функции для работы с датами: Day()(год), Month()(месяц), Year(год). Эти функции вырезают из текущей даты: день, месяц, год. Например, Month(DateString), вырезайет из текущей даты месяц.

Еще сохранилась функция WeekDay, она нужна для определения дня недели(например Вторник). Сейчас мы сделаем программку, которая будет определять день недели, на форму добавь еще одну метку(Label3, свойства такие же как и у предыдущих меток), вот код:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' При загрузке формы:

Dim Den As Integer

Den = Weekday(DateString) ' Определяем день недели
If Den = 0 Then Label3.Text = "Воскресенье"
If Den = 1 Then Label3.Text = "Понедельник"
If Den = 2 Then Label3.Text = "Вторник"
If Den = 3 Then Label3.Text = "Среда"
If Den = 4 Then Label3.Text = "Четверг"
If Den = 5 Then Label3.Text = "Пятница"
If Den = 6 Then Label3.Text = "Суббота"

End Sub

Исходник

Теперь сам попробуй сделать какую - нибудь программу, например календарь.


Есть вопросы? Спроси на нашем форуме!!
Костя [08.07.2011 10:25]

У меня пишет что Сегодня понедельник, когда пятница на улице)

Вова [21.07.2011 23:09]

Почему именно эти цифры задаются к этим дням???

Андрей [13.09.2011 21:46]

Не работает последний пример. В отладчике Visual Studio просто останавливается. При попытке запустить скомпилированный файл пишет, что данные в DateString нельзя привести к формату Date

.DLL [06.10.2011 19:49]

У меня работает с таким кодом:
If Den = 2 Then Label3.Text = "Воскресенье"
If Den = 3 Then Label3.Text = "Понедельник"
If Den = 4 Then Label3.Text = "Вторник"
If Den = 5 Then Label3.Text = "Среда"
If Den = 6 Then Label3.Text = "Четверг"
If Den = 7 Then Label3.Text = "Пятница"
If Den = 1 Then Label3.Text = "Суббота"

seavulf [15.11.2011 23:36]

Андрей, у меня та же проблема, Возможно из за нового введения

seavulf [22.11.2011 14:01]

Короче, я разобрался в VB 2008(.Net)
вместо DateString нужно писать Today, у меня после изменения пошло!

Илья [01.09.2012 13:28]

Возможно лучше использовать switch case?

Phoenix222210 [29.04.2014 14:34]

seavulf
Короче, я разобрался в VB 2008(.Net)
вместо DateString нужно писать Today, у меня после изменения пошло!
У меня Visual Studio 2010. Так же!

GXTrus10 [24.05.2014 14:19]

А ведь для последнего примера можно было обойтись 1 строчкой
Label3.Text = WeekdayName(Weekday(Today, 0))
или
Label3.Text = WeekdayName(Weekday(Now, 0))

P.S.
А объяснить почему WeekDay не работает с DateString довольно легко, потому что WeekDay читает Date, а не String.
'Декларация
Public Shared Function Weekday ( _
DateValue As DateTime, _
DayOfWeek As FirstDayOfWeek _
) As Integer

DateString Возвращает String, представляющее текущую системную дату.
Today Возвращает Date, содержащее текущую системную дату.
Now Возвращает Date, содержащее текущие системные значения даты и времени.

Noskovee [30.11.2015 16:12]

Здесь не рационально использовать if.
Никогда не слышали про case?



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.