سلام
تابع بدست آوردن اختلاف بین دو تاریخ شمسی
Public Function date_diff_persian(ByVal d1 As String, ByVal d2 As String) As Integer
Dim y, m, d, r As String
Dim g As New Globalization.PersianCalendar
Dim in_date1, in_date2 As Date
If d1.Length <> 10 Or d2.Length <> 10 Then
MsgBox("فرمت تاریخ صحیح نیست", MsgBoxStyle.Information, "")
Return -1000000
End If
Try
y = Microsoft.VisualBasic.Left(d1, 4) 'جدا سازی 4 رقم عدد سال
m = Mid(d1, 6, 2) 'جدا سازی دو رقم عدد ماه
d = Microsoft.VisualBasic.Right(d1, 2) 'جدا سازی 2 رقم عدد روز
'-------------------------------------------------
in_date1 = g.ToDateTime(Val(y), Val(m), Val(d), 0, 0, 0, 0)
'**********************
y = Microsoft.VisualBasic.Left(d2, 4) 'جدا سازی 4 رقم عدد سال
m = Mid(d2, 6, 2) 'جدا سازی دو رقم عدد ماه
d = Microsoft.VisualBasic.Right(d2, 2) 'جدا سازی 2 رقم عدد روز
'-------------------------------------------------
in_date2 = g.ToDateTime(Val(y), Val(m), Val(d), 0, 0, 0, 0)
'***********************
r = DateDiff(DateInterval.Day, in_date1, in_date2)
Catch ex As Exception
MsgBox("بروز خطا هنگام محاسبه تاریخ _ " + ex.ToString)
r = -1000000
End Try
Return r
End Function