|
>
پروژه های کامل
برنامه تابلو
تبلیغاتی الکترونیکی
برنامه نمایش ساعت عقربه ای
ذخیره
تصاویر در
SQL SERVER
برنامه کامل نمایش تقویم میلادی
> کدهای نمونه
مرورگر اینترنتی
تبدیل تاریخ شمسی به
میلادی
مشاهده سورس صفحه وب
پخش
فایل های
MP3
و WMA
در کنسول
کسب مشخصات درایوها
ذخیره فایل در
DB |
|
تبدیل تاریخ شمسی به
میلادی
در
این مقاله به شما می آموزیم که چگونه از تابع مبدل تاریخ میلادی به شمسی در
برنامه هایتان استفاده کنید. هیچ محدودیت زمانی ندارد و برای هزاران سال
کار خواهد کرد.
قبل از هر کاری تابع زیر را به برنامه خود اضافه کنید. اگر برنامه شما
کنسول می باشد بعد یا قبل از تابع Main و اگر فرمهای ویندوز یا وب می باشد
در یکی از فرمها اضافه کنید. حتی می توانید در یک کلاس جداگانه قرار دهید
تا همه فرمها و کلاسهای موجود در برنامه بتوانند به راحتی از آن استفاده
کنند.
public string
Shamsi(string date)
{
int[] arrMonths ={ 31, 28, 31,30, 31, 30,31,31, 30,
31,30, 31 };
int[] arrStart ={ 21, 20, 21, 21, 22, 22, 23, 23, 23,
23, 22, 22 };
char[] sep ={ '/' };
string[] arrDate = date.Split(sep);
int year = Convert.ToInt32(arrDate[0]);
int month = Convert.ToInt32(arrDate[1]);
int day = Convert.ToInt32(arrDate[2]);
if (year % 4 == 0)
{
for (int i = 2; i < 12; i++)
arrStart[i]--;
arrMonths[1]++;
if (month == 1) arrStart[11]++;
}
else
if
(year % 4 == 1)
{
arrStart[0]--;
arrStart[1]--;
if (month == 1) arrStart[11]--;
}
year = month <= 3 ? year - 622 : year - 621;
if (month == 3 && day >= arrStart[2]) year++;
if (day < arrStart[month - 1])
{
int i = month == 1 ? 11 : month - 2;
day = day - arrStart[i] + arrMonths[i] + 1;
month -= 3;
}
else
{
day = day - arrStart[month - 1] + 1;
month -= 2;
}
if (month <= 0) month += 12;
return year + "/" + Convert.ToString(month).PadLeft(2,'0')
+ "/" +
Convert.ToString(day).PadLeft(2,'0');
}
تابع فوق یک رشته حاوی تاریخ
میلادی را دریافت کرده به تاریخ شمسی تبدیل می کند و این تاریخ شمسی را به
صورت یک رشته برمی گرداند.
حالا دو عنصر TextBox بر روی فرم قرار دهید و نام آنها را به ترتیب
txtMilady و txtShamsi در نظر بگیرید. سپس یک عنصر Button بر روی فرم قرار
داده، نام آن را btnConvert و عنوان آن را Convert در نظر بگیرید.
بر روی دکمه Convert دو بار کلیک کنید و کد زیر را در آن وارد کنید:
private void
btnConvert_Click(object sender, EventArgs e)
{
txtShamsi.Text = Shamsi(txtMilady.Text);
}
برنامه خود را اجرا کنید. در
عنصر txtMilady یک تاریخ میلادی مثل 12/6/2004 وارد کنید و دکمه Convert را
فشار دهید. امیدواریم نتیجه کار رضایت شما را جلب
کرده باشد. اگر می خواهید از این تابع در کنسول استفاده کنید می توانید
نتیجه کار خود را با استفاده از("Console.WriteLine("2004/6/12
ببینید.
ابتدای صفحهF
|
|
 |