آکادمی سیم پاور

استفاده از DateTime در #C

استفاده از خاصيتهاي DateTime :

 

هنگامي كه يك متغيير از نوع DateTime داشته باشيد، ميتوانيد از خاصيتهاي گوناگوني كه ارائـه مـي دهـد اسـتفاده كنيـد . درامتحان كنيد زير، با قسمتي از آنها آشنا خواهيم شد .

)1 اگر برنامه Date Demo در حال اجرا است، آن را ببنديد .

)2 كنتـــــرل Button ديگـــــري بـــــه Form1 اضـــــافه كنيـــــد، خاصـــــيت Name آن را برابـــــرbtnDateProperties و خاصيت Text آن را برابر Date Properties قـرار دهيـد . روي دكمه دو بار كليك كنيد و كد مشخص شده در زير را در متد ايجاد شده وارد كنيد:

 

private void btnDateProperties_Click(object sender,

EventArgs e)

{

// Declare variable

DateTime dteDate;

// Get the current date and time

dteDate = DateTime.Now;

// Display the various properties

MessageBox.Show(“Month: ” + dteDate.Month,

“Date Demo”);

MessageBox.Show(“Day: ” + dteDate.Day, “Date Demo”);

MessageBox.Show(“Year: ” + dteDate.Year,

“Date Demo”);

MessageBox.Show(“Hour: ” + dteDate.Hour,

“Date Demo”);

MessageBox.Show(“Minute: ” + dteDate.Minute,

“Date Demo”);

MessageBox.Show(“Second: ” + dteDate.Second,

“Date Demo”);

MessageBox.Show(“Day of week: ” + dteDate.DayOfWeek,

“Date Demo”);

MessageBox.Show(“Day of year: ” + dteDate.DayOfYear,

“Date Demo”);

}

 

)3 برنامه را اجرا كنيد و روي دكمه فرمان جديد كليك كنيد . يك سري كادرهاي پيغام متوالي را خواهيد ديد كه پيغـام هـايواضحي را نمايش ميدهند .

 

همانند قسمت قبل، در اين مثال هم نكته مبهمي وجود ندارد كه نياز به توضيح داشته باشد . خود توابع به اندازه كافي واضـح هـستند.براي استفاده از ساعت، از خاصيت Hour، براي استفاده از سال از خاصيت Year و … استفاده كنيد .

 

كار با تاريخها :

 

يكي از مواردي كه كنترل آن هميشه براي برنامه نويسان مشكل بوده است، كار با تاريخها است . يكي از ايـن نمونـه مـشكلات كـهممكن است هنگام كار با تاريخ در برنامه ها ايجاد شود، مشكل سال 2000 بود كه در آن همه مردم منتظر بودند تا ببينند برنامه هايكامپيوتري چگونه با اين مشكل روبرو مي شوند . يا مثلا، كار با سالهاي كبيسه همواره مشكلات زيادي را در برنامه هـا ايجـاد كـردهاست .در بخش امتحان كنيد بعد، تعدادي از توابع و متدهاي نوع داده اي Date كه موجب ساده تر شدن كار با سالهاي كبيسه در برنامـهمي شود را بررسي خواهيم كرد .

 

كار با تاريخهاي خاص

)1 اگر برنامه Date Demo در حال اجرا است آن را ببنديد .

)2 دكمه فرمان ديگري به فرم خود اضافه كنيد، خاصـيت Name آن را برابـر btnDateManipulation وخاصيت Text آن را برابر Date Manipulation قرار دهيد. روي دكمه فرمان دو بار كليك كنيد و كـدمشخص شده در زير را در متد ايجاد شده وارد كنيد:

 

private void btnDateManipulation _Click(object sender,

EventArgs e)

{

// Declare variables

DateTime dteStartDate;

DateTime dteChangedDate;

// Start off in 2400

dteStartDate = new DateTime(2400, 2, 28);

// Add a day and display the results

dteChangedDate = dteStartDate.AddDays(1);

MessageBox.Show(dteChangedDate.ToLongDateString(),

“Date Demo”);

// Add some months and display the results

dteChangedDate = dteStartDate.AddMonths(6);

MessageBox.Show(dteChangedDate.ToLongDateString(),

“Date Demo”);

// Subtract a year and display the results

dteChangedDate = dteStartDate.AddYears(-1);

MessageBox.Show(dteChangedDate.ToLongDateString(),

“Date Demo”);

}

 

)3 برنامه را اجرا كنيد و روي دكمه فرمان كليك كنيد . سه كـادر پيغـام را مـشاهده خواهيـد كـرد . كـادر پيغـام اولـي تـاريخ/2400 29/2، كادر پيغام دومي تاريخ /2400 28/8، و كادر پيغام سوم /2399 28/2 را نمايش خواهد داد .

نوع داده اي DateTime متدهاي زيادي براي كار بر روي تاريخ دارد. در زير سه نمونه از آنها آمده است :

 

// Add a day and display the results

dteChangedDate = dteStartDate.AddDays(1);

MessageBox.Show(dteChangedDate.ToLongDateString(),

“Date Demo”);

// Add some months and display the results

dteChangedDate = dteStartDate.AddMonths(6);

MessageBox.Show(dteChangedDate.ToLongDateString(),

“Date Demo”);

// Subtract a year and display the results

dteChangedDate = dteStartDate.AddYears(-1);

MessageBox.Show(dteChangedDate.ToLongDateString(),

“Date Demo”);

 

اين توابع براي اضافه كردن روز، ماه و يا سال به تاريخ به كار مي روند . همانطور كه مشاهده ميكنيد، براي كم كردن از ايـن مقـاديريـك عـدد منفـي را بـه ايـن توابـع ارسـال كـرده ايـم. متـدهاي مهـم ديگـر در ايـن نـوع داده اي عبارتنـد از: AddHours،. AddMiliseconds و AddSeconds ،AddMinutes

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *