PDA

View Full Version : بررسی کردن مقدار بین دو زمان



mitra285
جمعه 15 دی 1391, 19:13 عصر
با سلام خدمت دوستان عزیز

من می خوام از زمان بین 05:00 تا 14:59 هر ساعتی که بین این دو هست وارد تکست باکس یک وارد بشه در تکست باکس دو عبارت "صبح" رو قید کنه. اما هرکاری می کنم نمی تونم کدش رو درست بنویسم دوستان کسی می تونه راهنمایی کنه. ممنون

If (TextBox1.Text.Substring(1, 2) + TextBox1.Text.Substring(3, 2)) >= "0500" Or (TextBox1.Text.Substring(1, 2) + TextBox1.Text.Substring(3, 2)) <= "1459" Then
TextBox2.Text = "صبح"
End If

the king
جمعه 15 دی 1391, 22:14 عصر
با سلام خدمت دوستان عزیز

من می خوام از زمان بین 05:00 تا 14:59 هر ساعتی که بین این دو هست وارد تکست باکس یک وارد بشه در تکست باکس دو عبارت "صبح" رو قید کنه. اما هرکاری می کنم نمی تونم کدش رو درست بنویسم دوستان کسی می تونه راهنمایی کنه. ممنون

If (TextBox1.Text.Substring(1, 2) + TextBox1.Text.Substring(3, 2)) >= "0500" Or (TextBox1.Text.Substring(1, 2) + TextBox1.Text.Substring(3, 2)) <= "1459" Then
TextBox2.Text = "صبح"
End If


Dim t As DateTime
If DateTime.TryParse(TextBox1.Text, t) Then
If t.TimeOfDay >= New TimeSpan(5, 0, 0) And t.TimeOfDay < New TimeSpan(15, 0, 0) Then
TextBox2.Text = "صبح"
Else
TextBox2.Text = "شب"
End If
Else
TextBox2.Text = ""
End If

mitra285
جمعه 15 دی 1391, 22:59 عصر
دوست عزیز با تشکر از لطف شما من کدی که شما دادید را یه مقدار تغییر دادم بنا به نیاز برنامم اما بازم تو بعضی ساعتها به مشکل بر می خورم. درست جواب نمی ده می شه لطف کنید و بازم راهنمایی کنید.

Dim t As DateTime
If DateTime.TryParse(TextBox1.Text, t) Then
If t.TimeOfDay >= New TimeSpan(5, 0, 0) And t.TimeOfDay < New TimeSpan(12, 59, 0) Then
TextBox2.Text = "صبح"
ElseIf t.TimeOfDay >= New TimeSpan(13, 0, 0) And t.TimeOfDay < New TimeSpan(20, 59, 0) Then
TextBox2.Text = "عصر"
ElseIf t.TimeOfDay >= New TimeSpan(21, 0, 0) And t.TimeOfDay > New TimeSpan(4, 59, 0) Then
TextBox2.Text = "شب"
End If
Else
TextBox2.Text = ""
End If

the king
شنبه 16 دی 1391, 00:00 صبح
بین 4:59 الی 5:00 یک دقیقه فاصله است، از دقیقه 59 استفاده نکنید. نیازی هم بهش نیست.
ایراد از شرط سومه، زمانی که از 21:00 بزرگتر یا مساوی باشه طبیعتا همیشه از 4:59 بزرگتره.


Dim t As DateTime
If DateTime.TryParse(TextBox1.Text, t) Then
If t.TimeOfDay >= New TimeSpan(5, 0, 0) And t.TimeOfDay < New TimeSpan(13, 0, 0) Then
TextBox2.Text = "صبح"
ElseIf t.TimeOfDay >= New TimeSpan(13, 0, 0) And t.TimeOfDay < New TimeSpan(21, 0, 0) Then
TextBox2.Text = "عصر"
Else
TextBox2.Text = "شب"
End If
Else
TextBox2.Text = ""
End If