برای تبدیل تاریخ میلادی به شمسی نیاز به هیچ گونه محاسباتی نمی باشد و فقط باید از تقویم فارسی دات نت استفاده کرد
برای این منظور از تابع زیر استفاده نمایید
Public Function MiladiToShamsi(ByVal MDate As Date) As String
MiladiToShamsi = ""
Dim PC As New Globalization.PersianCalendar
Dim Year As Integer = PC.GetYear(MDate)
Dim Month As Integer = PC.GetMonth(MDate)
Dim Day As Integer = PC.GetDayOfMonth(MDate)
MiladiToShamsi = Format(Year, "0000") & "/" & Format(Month, "00") & "/" & Format(Day, "00")
Return MiladiToShamsi
End Function
نحوه فراخوانی این تابع نیز به این صورت میباشد
اگر شما یک Label به فرم اضافه کرده باشید
Label1.Text = MiladiToShamsi(Now)