با سلام و احترام
دوستان گرامی من برای افزودن روز به تاریخ شمسی از کد زیر استفاده می کنم.
Dim mypersia As New System.Globalization.PersianCalendar()
my_lbl.text = mypersia.AddDays(Date2Persian_Str(DateTime.Now).To String, -180).ToString("yyyy/MM/dd")
و کد تابع Date2Persian_Str :
Public Function Date2Persian_Str(dt As System.DateTime) As String
Dim FarsiDate As New System.Globalization.PersianCalendar()
Dim Day As String = FarsiDate.GetDayOfMonth(dt).ToString()
Dim Month As String = FarsiDate.GetMonth(dt).ToString()
Dim Year As String = FarsiDate.GetYear(dt).ToString()
If Day.Length = 1 Then
Day = "0" & Day
End If
If Month.Length = 1 Then
Month = "0" & Month
End If
Return (Year & "/" & Month & "/" & Day)
End Function
تا به امروز این کد بدون مشکل اجرا شده ولی امروز متوجه شدم در برخی از تاریخ ها (مثل 1401/02/30) اگر تنظیمات Date & Time سرور برروی شمسی نباشه، اجرای این کد خطای زیر را نمایش می دهد.
Conversion from string "1401/02/29" to type 'Date' is not valid
از اونجایی که هاستینگ حاضر به تغییر تنظیمات به شمسی نیست ممنون میشم راهنمایی بفرمایید چطور میشه این مشکل رو برطرف کرد. تشکر