VB.NET සමඟ දිනය හා වේලාව හැසිරවීම
VB.NET වලින් තත්වීය අගයන් (Date/Time) සමග වැඩ කිරීම යෙදුම් සංවර්ධනයේ නිතර අවශ්ය වන කාර්යයකි. උපන් දිනයක්, ගෙවීම් දිනයක්, අවසන් කාල සීමාවක් හෝ පරිශීලකයෙකු අවසන් වරට පිවිසි වේලාවක් නිවැරදිව සුරැකීම සඳහා DateTime වර්ගය භාවිතා කළ හැක.
දිනය හා වේලාව එකට කළමනාකරණය කිරීමේදී ආකෘතිය, භාෂා ප්රදේශය, වේලා කලාපය සහ ගණනය කිරීම් පිළිබඳව අවධානය යොමු කළ යුතුය. තිරයේ පෙන්වන අගය සහ දත්තගබඩාවේ සුරකින අගය එකම ආකාරයකින් තිබීම අනිවාර්ය නොවේ.
මෙම කරුණු නිවැරදිව තේරුම් ගත් විට, දින අතර වෙනස සොයා ගැනීම, නියමිත දිනයක් පරීක්ෂා කිරීම සහ පරිශීලකයාට පහසු ආකාරයෙන් දිනය පෙන්වීම පහසු වේ. ආරම්භකයන්ට වඩාත් වැදගත් වන්නේ ස්වයංක්රීයව ලැබෙන වත්මන් වේලාව මත පමණක් රඳා නොසිට, අගයේ අර්ථයද පැහැදිලිව සලකා බැලීමයි.
මෙහෙයුම් පද්ධතියේ වේලාව නිවැරදිව සකසා නොමැති නම් VB.NET යෙදුමට ලැබෙන අගයද වැරදි විය හැක. එබැවින් පද්ධති වේලාව සහ වේලා කලාප පිළිබඳ මූලික කරුණු දැනගැනීමට ලිනක්ස් මාර්ගෝපදේශය වැනි තාක්ෂණික සම්පත්ද ප්රයෝජනවත් වේ.
DateTime වර්ගයේ මූලික භාවිතය
VB.NET හි DateTime.Now මඟින් පරිගණකයේ වත්මන් දිනය සහ දේශීය වේලාව ලබාගත හැක. වේලාව නොසලකා වත්මන් දිනය පමණක් අවශ්ය නම් DateTime.Today භාවිතා කරන්න. ස්ථිර දිනයක් නිර්මාණය කිරීමට වසර, මාසය සහ දිනය ලබාදිය හැක.
Dim දැන් As DateTime = DateTime.Now
Dim අද As DateTime = DateTime.Today
Dim ආරම්භකදිනය As New DateTime(2025, 4, 1)
DateTime අගයක Year, Month, Day, Hour, Minute සහ Second වැනි ගුණාංග තිබේ. දිනය පමණක් හෝ වේලාව පමණක් ලබාගැනීමට Date සහ TimeOfDay භාවිතා කළ හැකි අතර, අගය හිස් විය හැකි අවස්ථාවල Nullable(Of DateTime) ගැනද සලකා බලන්න.
දිනය පෙන්වීම සහ පරිවර්තනය
පරිශීලකයාට දිනය පෙන්වීම සඳහා ToString ක්රමය භාවිතා කළ හැක. "dd/MM/yyyy" ආකෘතියෙන් දිනය, "HH:mm:ss" ආකෘතියෙන් පැය, මිනිත්තු සහ තත්පර පෙන්විය හැක. විශාල යෙදුම්වලදී ආකෘතිය රට අනුව වෙනස් විය හැකි නිසා සංස්කෘතික සැකසුම් සැලකිල්ලට ගැනීම වැදගත්ය.
Dim දිනය As DateTime = DateTime.Now
Label1.Text = දිනය.ToString("dd/MM/yyyy")
Label2.Text = දිනය.ToString("dd MMMM yyyy HH:mm")
පෙළක් DateTime අගයකට පරිවර්තනය කිරීමේදී DateTime.Parse වෙනුවට DateTime.TryParse භාවිතා කිරීම ආරක්ෂිතය. වැරදි ආකෘතියක් ඇතුළත් කළ විට වැඩසටහන නතර නොවී, පරිශීලකයාට නිවැරදි ආකාරයෙන් නැවත ඇතුළත් කිරීමට අවස්ථාව ලබාදිය හැක. වෙබ් අඩවි සඳහා දිනයන් හැඩගැස්වීමේ අදහස් සොයන විට වෙබ් සංවර්ධන අදහස්ද උපකාරී විය හැක.
දිනයන් අතර ගණනය කිරීම්
දිනයකට දින, මාස හෝ වසර එකතු කිරීමට AddDays, AddMonths සහ AddYears යන ක්රම භාවිතා කරන්න. දිනයන් දෙකක් අතර වෙනස සොයාගැනීමට TimeSpan ලබාදෙන Subtract ක්රමය සුදුසුය.
Dim අවසන්දිනය As DateTime = ආරම්භකදිනය.AddDays(30)
Dim වෙනස As TimeSpan = අවසන්දිනය.Subtract(DateTime.Today)
Label1.Text = වෙනස.Days.ToString() & " දින ඉතිරියි"
පැය සහ මිනිත්තු ගණනය කිරීමේදී TotalHours සහ TotalMinutes භාවිතා කරන්න. TimeSpan.Hours මඟින් සම්පූර්ණ වෙනස නොව, දින කොටස ඉවත් කළ පසු ඉතිරි පැය පමණක් ලැබිය හැකි බව මතක තබාගත යුතුය. තරගයක්, වෙන්කිරීමක් හෝ කාඩ් ක්රීඩාවක කාල සීමාවක් ගණනය කරන වැඩසටහනකදී කාඩ් ක්රීඩා ගණනය වැනි ගණිතමය උදාහරණවලින්ද අදහස් ලබාගත හැක.
වේලා කලාප සහ දත්තගබඩා භාවිතය
DateTime.Now පරිගණකයේ දේශීය වේලාව ලබාදෙන අතර DateTime.UtcNow විශ්වීය සම්බන්ධිත වේලාව ලබාදෙයි. විවිධ රටවල පරිශීලකයන් සිටින පද්ධතියක දිනය සුරැකීමේදී UTC භාවිතා කර, පෙන්වන අවස්ථාවේදී පරිශීලකයාගේ වේලා කලාපයට පරිවර්තනය කිරීම වඩාත් ස්ථාවර ක්රමයකි.
වේලා කලාපයද අගය සමඟ ගෙනයෑමට DateTimeOffset ප්රයෝජනවත් වේ. SQL Server වෙත දිනයක් යවන විට අගය SQL විධානයට සෘජුව එක් නොකර, parameter එකක් ලෙස යවන්න. එමඟින් දිනයේ ආකෘති දෝෂ සහ SQL injection අවදානම අඩු වේ.
පරිශීලක අතුරුමුහුණතේ ප්රායෝගික යෙදීම
Windows Forms යෙදුමක DateTimePicker පාලකය දිනයක් තෝරාගැනීමට පහසුය. එහි Value ගුණාංගය මඟින් තෝරාගත් දිනය ලබාගත හැකි අතර, Format ගුණාංගයෙන් දිනය පෙන්වන ආකාරය වෙනස් කළ හැක. ආරම්භක දිනය අවසන් දිනයට පසුව නොවන බව පරීක්ෂා කිරීමද අත්යවශ්යය.
If dtpStart.Value > dtpEnd.Value Then
MessageBox.Show("ආරම්භක දිනය නිවැරදි නොවේ")
Else
Dim දිනගණන As Integer =
(dtpEnd.Value.Date - dtpStart.Value.Date).Days
End If
කවුන්ට්ඩවුන් පාලකයක් සෑදීමේදී අවසන් වේලාව සහ වත්මන් වේලාව අතර TimeSpan ලබාගෙන, එහි දින, පැය, මිනිත්තු සහ තත්පර පෙන්වන්න. Adobe Muse වැනි නිර්මාණ මෙවලම් සමඟ සම්බන්ධ අදහසක් ලෙස කවුන්ට්ඩවුන් උදාහරණය බැලීමද ප්රයෝජනවත් වේ. තවත් VB.NET පාඩම් සොයාගැනීමට වෙබ් අඩවියේ අඩවි සිතියම භාවිතා කරන්න.
මෙම උදාහරණ ඔබේ VB.NET ව්යාපෘතියක ක්රියාත්මක කරමින් DateTime, TimeSpan, ආකෘතිකරණය සහ වේලා කලාප වෙනස්කම් පරීක්ෂා කරන්න. කුඩා දිනය කළමනාකරණ යෙදුමක් සාදා, ඔබේ අත්දැකීම් සහ ගැටලු තාක්ෂණික ප්රජාව සමඟ බෙදාගන්න.