
نوشته شده توسط
saeedgoodboy
تابع اول : میخوام که یک عدد رو به یک تاریخ شمسی اضافه کنه و تاریخ جدید رو بده
تابع دوم : 2 تا تاریخ شمسی رو با هم مقایسه کنه و اختلافش رو به مقدار روز بهمون بده
سلام دوست عزیز
اینم کدهایی که میخواستی:
Imports Microsoft.VisualBasic
Imports System.Globalization
Module Module1
Enum eYMD
Year = 0
Month = 1
Day = 2
End Enum
Enum eDateFormat
DMY = 0
YMD = 1
MDY = 2
End Enum
Public GPC As New System.Globalization.PersianCalendar
Public Function Shamsi_Now() As String
Dim mDT As Date = Date.Now
Return (String.Format("{0}/{1:00}/{2:00}", {GPC.GetYear(mDT), GPC.GetMonth(mDT), GPC.GetDayOfMonth(mDT)}))
End Function 'Shamsi_Now() As String تاریخ روز (شمسی) را برمیگرداند
Public Function ShDateAddDays(pDate As String, days As Integer) As String
Dim value As String = ""
pDate = pDate.Trim
If pDate = String.Empty Then Return (Shamsi_Now())
value = GPC.AddDays(pDate, days).ToString("yyyy/MM/dd")
Return value
End Function 'ShDateAddDays() AS String اضافه کردن (جمع و تفریق) روز به تاریخ شمسی
Public Function ShDateAddMonths(pDate As String, Months As Integer) As String
Dim value As String = ""
pDate = pDate.Trim
If pDate = String.Empty Then Return (Shamsi_Now())
value = GPC.AddMonths(pDate, Months).ToString("yyyy/MM/dd")
Return value
End Function 'ShDateAddDays() AS String اضافه کردن (جمع و تفریق) ماه به تاریخ شمسی
Public Function ShDateAddYears(pDate As String, Years As Integer) As String
Dim value As String = ""
pDate = pDate.Trim
If pDate = String.Empty Then Return (Shamsi_Now())
value = GPC.AddYears(pDate, Years).ToString("yyyy/MM/dd")
Return value
End Function 'ShDateAddDays() AS String اضافه کردن (جمع و تفریق) سال به تاریخ شمسی
Public Function ShDateAddYMD(pDate As String, YMDvalue As Integer, mode As eYMD) As String
Dim value As String = ""
pDate = pDate.Trim
If pDate = String.Empty Then Return (Shamsi_Now())
Select Case mode
Case eYMD.Day : value = GPC.AddDays(pDate, YMDvalue).ToString("yyyy/MM/dd")
Case eYMD.Month : value = GPC.AddMonths(pDate, YMDvalue).ToString("yyyy/MM/dd")
Case eYMD.Year : value = GPC.AddYears(pDate, YMDvalue).ToString("yyyy/MM/dd")
End Select
Return value
End Function 'ShDateAddDays() AS String اضافه کردن (جمع و تفریق) روز/ماه/سال به تاریخ شمسی
End Module
موفق باشید .....