واضح آرشیو وب فارسی:سایت ریسک: rtech8th March 2008, 06:40 PMاین کلاس که در .NET تعبیه شده برای کار با تاریخ شمسی کاربرد داره (از مایکروسافت این کارها بعیده!) اینم یک نمونه کد : using System; using System.Collections.Generic; using System.Text; using System.Globalization; namespace Controls { public class SolarDate { public struct SHAMSIDATE { public int iYear; public int iMonth; public int iDay; public string ToShortDateString() { return string.Format("{0:D 4}/{1:D 2}/{2:D 2}", iYear, iMonth, iDay); } } public static bool ShamsiIsLeap(int shamsiYear) { PersianCalendar pDate = new PersianCalendar(); return pDate.IsLeapYear(shamsiYear); } public static SHAMSIDATE MiladiToShamsi(DateTime Date) { return MiladiToShamsi(Date.Month, Date.Day, Date.Year); } public static SHAMSIDATE MiladiToShamsi(int iMiladiMonth, int iMiladiDay, int iMiladiYear) { PersianCalendar pDate = new PersianCalendar(); SHAMSIDATE shamsidate; shamsidate.iYear = pDate.GetYear(new DateTime(iMiladiYear, iMiladiMonth, iMiladiDay)); shamsidate.iMonth = pDate.GetMonth(new DateTime(iMiladiYear, iMiladiMonth, iMiladiDay)); shamsidate.iDay = pDate.GetDayOfMonth(new DateTime(iMiladiYear, iMiladiMonth, iMiladiDay)); return shamsidate; } } } این هم نمونه VB.net : Imports System Imports System.Collections.Generic Imports System.Text Imports System.Globalization Namespace Controls Public Class SolarDate Public Structure SHAMSIDATE Public iYear As Integer Public iMonth As Integer Public iDay As Integer Public Function ToShortDateString() As String Return String.Format("{0:D 4}/{1:D 2}/{2:D 2}", iYear, iMonth, iDay) End Function End Structure Public Shared Function ShamsiIsLeap(ByVal shamsiYear As Integer) As Boolean Dim pDate As New PersianCalendar() Return pDate.IsLeapYear(shamsiYear) End Function Public Shared Function MiladiToShamsi(ByVal [Date] As DateTime) As SHAMSIDATE Return MiladiToShamsi([Date].Month, [Date].Day, [Date].Year) End Function Public Shared Function MiladiToShamsi(ByVal iMiladiMonth As Integer, ByVal iMiladiDay As Integer, ByVal iMiladiYear As Integer) As SHAMSIDATE Dim pDate As New PersianCalendar() Dim shamsidate As SHAMSIDATE shamsidate.iYear = pDate.GetYear(New DateTime(iMiladiYear, iMiladiMonth, iMiladiDay)) shamsidate.iMonth = pDate.GetMonth(New DateTime(iMiladiYear, iMiladiMonth, iMiladiDay)) shamsidate.iDay = pDate.GetDayOfMonth(New DateTime(iMiladiYear, iMiladiMonth, iMiladiDay)) Return shamsidate End Function End Class End Namespace سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1247]