PDA

View Full Version : سوال: مقایسه دو تاریخ شمسی



f_arab
دوشنبه 17 آبان 1389, 14:49 عصر
با عرض سلام خدمت دوستان عزیز
دو تا سؤال در مورد farsidate داشتم:
دو تا farsidate گذاشتم و میخوام تاریخ اونا رو با هم مقایسه کنم.
1- برای مقایسه دو تاریخ شمسی باید چه کار کنم؟
2- آیا میشه سال ، ماه یا روز رو با نوع integer از farsidate استخراج کرد؟

ali_najari
دوشنبه 17 آبان 1389, 17:19 عصر
با عرض سلام خدمت دوستان عزیز
دو تا سؤال در مورد farsidate داشتم:
دو تا farsidate گذاشتم و میخوام تاریخ اونا رو با هم مقایسه کنم.
1- برای مقایسه دو تاریخ شمسی باید چه کار کنم؟
2- آیا میشه سال ، ماه یا روز رو با نوع integer از farsidate استخراج کرد؟

دوست عزیز شما به وبلاگ من حتما سر بزنید چون توی اونجا چندتا کد واسه تاریخ شمسی وجود داره که از جمله ShamsiDataDiff که میتونید ازش استفاده کنید برای مقایسه دو تاریخ

http://visualbasic-net.blogsky.com/

یا

http://visualbasic-net.blogsky.com/category/cat-2/


این هم کد مقایسه دو تاریخ فارسی



Public Function ShamsiDateDiff(ByVal Date1 As String, ByVal Date2 As String, Optional ByVal Seperator As String = "/") As Integer

Dim pc As New Globalization.PersianCalendar

Dim da1 = Date1.Split(Seperator)
Dim da2 = Date2.Split(Seperator)
Dim dt1 = pc.ToDateTime(da1(0), da1(1), da1(2), 0, 0, 0, 0)

Dim dt2 = pc.ToDateTime(da2(0), da2(1), da2(2), 0, 0, 0, 0)

Return DateDiff(DateInterval.Day, dt1, dt2)

End Function


طریقه استفاده:


Msgbox(ShamsiDateDiff(“1389/07/09” , ”1389/09/23” , ”/”))

f_arab
سه شنبه 18 آبان 1389, 10:41 صبح
سلام
ممنون از راهنماییتون ولی من تو برنامه از کامپوننت farsidate استفاده کردم.
دو تا farsidate گذاشتم و میخوام تو برنامه قبل از اینکه اطلاعات اونا وارد بانک بشه یه مقایسه بینشون انجام بدم که کاربر اجازه وارد کردن تاریخ نادرست نداشته باشه به عنوان مثال تاریخ تولدی که کاربر وارد میکنه بعد از تاریخ عضویتش نباشه
ممنون میشم اگه بازم منو راهنمایی کنید:تشویق:

ali_najari
سه شنبه 18 آبان 1389, 11:05 صبح
سلام
ممنون از راهنماییتون ولی من تو برنامه از کامپوننت farsidate استفاده کردم.
دو تا farsidate گذاشتم و میخوام تو برنامه قبل از اینکه اطلاعات اونا وارد بانک بشه یه مقایسه بینشون انجام بدم که کاربر اجازه وارد کردن تاریخ نادرست نداشته باشه به عنوان مثال تاریخ تولدی که کاربر وارد میکنه بعد از تاریخ عضویتش نباشه
ممنون میشم اگه بازم منو راهنمایی کنید:تشویق:

دوست عزيز شما كافيه تاريخ ها رو همراه با جدا كننده اگر غير از "/" باشه رو بفرستي يك عدد بر ميگردونه بهت! كه نشان دهنده تعداد روزهاي سپري شده بين 2 تاريخ هست

اگر تاريخ دوم بزرگتر از تاريخ اول باشد عدد برگشتي منفي هست كه ميتونيد بفهميد كه تاريخ اول از تاريخ دوم كوچيكتر است!

تاريخ اول همان تاريخ مبدا و تاريخ دوم همان تاريخ مقصد هست