خانه » برنامه نویسی » اکشن اسکریپت » استفاده از کلاس تاریخ در اکشن اسکریپت ۳

استفاده از کلاس تاریخ در اکشن اسکریپت ۳

استفاده از کلاس تاریخ در اکشن اسکریپت ۳

فلش CS4 |  اکشن اسکریپت ۳/۰ | سطح مقدماتی

در این خودآموز شما به  نحوه استفاده از اطلاعات را در کلاس تاریخ اکشن اسکریپت ۳ (AS3)  و تمامی اطلاعات مربوط به زمان ، برای بازیابی (شامل تاریخ و روز) پرداخته می شود. در این خودآموز به تدریس اصول در مورد نحوه استفاده و دستکاری و بازیابی اطلاعات در کلاس تاریخ پرداخته می شود.
این خودآموز در سطح مبتدی است و به هیچ گونه دانش پیشرفته در زبان برنامه نویسی اکشن اسکریپت برای این مقاله پیش نیاز نمی باشد.

در این آموزش به مباحث زیر پرداخته می شود :

  1. استفاده مقدماتی از کلاس (class) تاریخ (Date).
  2. بازیابی جزئیات تاریخ خاص.
  3. بازیابی سال ، روز ، ماه ، ساعت ، دقیقه   و ثانیه.
  4. بازیابی ماه و روز های هفته.
  5. به روز رسانی زمان.

استفاده مقدماتی از کلاس (class) تاریخ (Date)

ما برای شروع استفاده از کلاس تاریخ (date class) می خواهیم تاریخ را دریافت و در پنجره خروجی output  فلش به نمایش در بیاوریم.
مانند دیگر کلاسهای اکشن اسکریپت ۳ قبل از استفاده از class تاریخ شما می بایست ، آن را به عنوان یک کلاس تعریف کنید.
ما می توانیم این کار را با ساخت یک متغییر (var) و استفاده از کلمه کلیدی new انجام دهیم:

var my_date:Date = new Date();

در صورتی که بخواهید فقط یک نمای ساده از تاریخ را دریافت نمایید ، شما می توانید متغییر my_date را به عنوان یک رشته متنی استفاده کنید.شما میتوانید از تابع trace() استفاده نماید و تاریخ را در پنجره خروجی output به نمایش بگزارید:

var my_date:Date = new Date();
trace(my_date.hours);

مثال بالا می بایست نتیجه ای مشابه تصویر زیر داشته باشد:

به طبع در اکثر موارد نیاز شما برای نمایش یک تاریخ استفاده از آن به صورت یک رشته ساده نمی باشد.شما  این امکان را دارید که هر بخش از تاریخ را یه صورت مجزا با استفاده از خاصیتهای کلاس تاریخ  دریافت نمایید، در زیر موارد اصلی که شما می توانید دریافت نمایید را معرفی می نماییم :

  • date – باز یابی روز از ماه.
  • month – بازیابی ماه.
  • fullYear – بازیابی سال کامل.
  • day – بازیابی روز از هفته.
  • hours – باز یابی ساعت.
  • minutes – بازیابی دقیقه.
  • seconds – بازیابی ثانیه.

این موارد تعدادی از تمام خاصیت های و متدهای کلاس تاریخ می باشد ، اما اکثر آنها عموما مورد استفاده قرار نمی گیرند.در این آموزش به تعدادی از خواص اصلی می پردازیم با یادگیری استفاده از این خواص استفاده از دیگر خواص برای شما مشکل نخواهد بود ، زیرا روش و نوع استفاده از خواص به یک ترتیب میباشد. شما برای اطلاعات از لیست تمامی خواص ها و توضیحات بیشتر درباره کاربرد آنها بهر میباشد که به راهنمای نرم افزار فلش مراجعه نمایید و طبق روال استفاده از خواص در این آموزش از آنها استفاده نمایید.

بازیابی جزئیات تاریخ خاص

بعد از ایجاد یک متغییر از کلاس تاریخ شما با استفاده از این متغییر می توانید به خواص این کلاس دسترسی پیدا کنید به این صورت که مثلا در مثال زیر برای دریافت ساعت (hours) می بایست خاصیت hours را فراخوانی نمایید برای این کار کافیست طبق مثال با قرار دادن یم دات (.) و بعد از آن خاصیت مورد نظر آن را دریافت نمایید(مانند object ها) :

var my_date:Date = new Date();
trace(my_date.hours);

تاریخ فعلی بر طبق ۲۴ ساعت می باشد و شما برای مثال طبق ساعت سیستم خود می بایست عدد ساعت را دریافت  نمایید مثلا ۱۹.

اکثر خواص به صورتی عمل می کنند که برای اکثر موارد مقدار عددی بر می گردانند مثلا روز و ماه را با عدد برای ما نمایش می دهند ،در نتیجه ها به صورت کلی از یک مقدار معنی دار مثل نام روز و ماه و.. نمی باشند و برای این کار می بایست تنظیمات پیشرفته را انجام دهیم که در ادامه توضیح داده شده است.

بازیابی سال ، روز از ماه ، ساعت ، دقیقه  ، و ثانیه

بازگردانی سال کامل ، روز از ما ، ساعت ، دقیقه و ثانیه و همه فرایندهای دیگر… برای همه مقدار بازگشتی به صورت عددی می باشد. شما می توانید مقدار های عددی را  طبق نیاز خود به صورت های مختلف دریافت نمایید :

var my_date:Date = new Date();
trace(my_date.fullYear);

خروجی دریافتی نتیجه می بایست سال جاری باشد به طور مثال : ۲۰۰۹.

شما می توانید از همان مفهوم برای بازیابی خصوصیات دیگرهم استفاده کنید:

  • .date – این خاصیت روز را در ماه به صورت عددی بر می گرداند. به طور مثال: ۲۰.
  • .hours – این خاصیت  ساعت را بر می گردند بر مبنای ۲۴ ساعت. به طور مثال: ۱۴.
  • .minutes -این خاصیت مقدار زمان دقیقه را بر می گرداند. به طور مثال: ۴۶.
  • .seconds این خاصیت مقدار زمان ثانیه را بر می گرداند. به طور مثال: ۵۵.

تعیین ماه و روز در هفته کمی پیچیده تر می باشد ، اما ما در این آموزش به شما توضیح می دهیم که روش انجام آنها چگونه خواهد بود.

بازیابی ماه

با استفاده از خصوصیت ماه (month) به صورت مستقیم از شی تاریخ مقداری عددی دریافت می کنید که نمایانگر عدد ماه میباشد که از صفر ۰ شرو می شود و تا یازده ۱۱ ادامه دارد به صورتی که صفر ماه January می باشد و ۱۱ ماه آهر یعنی December  می باشد ، به مثال دقت نمایید :

var my_date:Date = new Date();
trace(my_date.month);

این مثال به عنوان خروجی عدد مربوط به ماه جاری را که بین ۰ تا ۱۱ می باشد به عنوان خروجی نمایش داده میشود ، برای مثال برای ماه July عدد ۶ به عنوان خروجی نمایش داده می شود.

برای تبدیل این عدد به نام هر ماه ما می توانیم یک آرایه با محتوای نام ماه ها ایجاد کنیم و در اولین گزینه آرایه که اندیس صفر می باشد نام ماه اول و الا آخر نام ماه ها را وارد نماییم و بعد با استفاده از متغییری که آرایه را به آن نسبت داده ایم و دریافت عدد ماه جاری توسط کلاس تاریخ و قرار داده آن در بین دو براکت []  به راحتی ماه جاری را از دورن آرایه به نمایش بگذاریم (در زیر ابتدا آرایه مورد نظر را ایجاد می کنیم):

var months:Array = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
برای اطلاعات بیشتر در مورد آرایه ها در اکشن اسکریپت ۳ به مقاله دیگر ما در این موضوع نوشته شده مراجعه نمایید.

حال شما می توانید از عددی که از ماه جاری دریافت می کنید برای فراخوانی عنصر مورد نظر در آرایه استفاده کنید که همان نام ماه مورد نظر می باشد و برای این کار از روش فراخوانی با براکت ها استفاده می کنم :

var months:Array = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

var my_date:Date = new Date();
trace(months[my_date.month]);

خروجی این مثال می بایست نام ماه جاری باشد مثلا در صورتی که در ماه July  می باشید می بایست خروجی July  باشد.

باز یابی روز های هفته

برای بازیابی نام روز های هفته از همان روشی که در بازیابی نام ماه ها استفاده نمودیم ، استفاده می کنیم ، با استفاده از خاصیت روز (day) مانند روزهای ماه ولی این بار عددی بین ۰ تا ۶ بر می گرداند که در واقع نمایانگر همان هفت روز هفته می باشد و با عدد ۰ روز Sunday و تا عدد ۶ که روز Saturday را نشان می دهد.

برای تبدیل این اعداد به نام روزهای هفته می بایست یک آرایه ایجاد کنید که عناصر آن نام های روزهای هفته باشد و به وسیله این آرایه مانند مثال ماه ها ، روزهای هفته را برگردانید.

برای برگرداندن مقدار رون آرایه از روش براکتها [] استفاده می کنیم (در زیر ابتدا آرایه مربوطه را می سازیم):

var days:Array = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
برای اطلاعات بیشتر در مورد آرایه ها در اکشن اسکریپت ۳ به مقاله دیگر ما در این موضوع نوشته شده مراجعه نمایید

شما حال می توانید با کد زیر نام روزهای هفته را با کمک این آرایه دریافت نمایید:

var days:Array = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
var my_date:Date = new Date();
trace(days[my_date.day]);

خروجی این مثال می بایست نام یکی روزهای هفته باشد به طور مثال : Sunday.

به روز رسانی زمان

یکی دیگر از چیزهایی که نیاز می باشد در باره کلاس تاریخ بدانید ، در مورد این می باشد که شما وقتی که اقدام به دریافت مقداری از زمان می نمایید و از آن خروجی دریافت می کنید این مقدار ثابت میباشد شاید شما نیاز داشته باشید زمان و ثانیه ها و دقیقه و.. را به صورت زنده و پویا به روز رسانی کنید و نتیجه را دریافت کنید برای این کار شما یا می بایست یک رویداد ENTER_FRAME ایجاد نمایید و یا از کلاس تایمر Time Class استفاده کنید ، که به طبع استفاده از کلاس تایمر بهتر میباشد ، در مورد کلاس تایمر و خصوصیات آن در مقالات بعدی توضیح خواهیم داد فعلا به مثالی در این باره دقت نمایید ، با این مثال می توانید با بخش اصلی کلاس تایمر آشنا شوید ، نکته ای که قابل بیان میباشد عدد ۱۰۰۰ ی می باشد که در بخش تعریف کلاس تایمر مشخص می شود ، این عدد نمایانگر یک ثانیه میباشد که بر اساس میلی ثانیه ۱۰۰۰ می شود ، در واقع با این کار ما یک تایمر ایجاد می کنیم که هر ثانیه تابع onTimer را اجرا می کند و محتوای تابع برای دریافت زمان می باشد که با استفاده از کلاس تاریخ انجام می شود:

var my_date:Date;var my_timer:Timer=new Timer(1000);
my_timer.addEventListener(TimerEvent.TIMER, onTimer);
my_timer.start();function onTimer(e:TimerEvent):void {
my_date = new Date();
trace(my_date.hours + “:” + my_date.minutes + “:” + my_date.seconds);
}
در باره کلاس تایمر در مقالات بعدی به صورت مفصل بحث خواهیم نمود.

این مثال می بایست خروجی شبیه به این را هر ثانیه نمایش دهد: ۱۶:۲۲:۴۳.

 

Print Friendly, PDF & Email
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

2 نظر

  1. salam

    mikhastam babate in site kamel va mofidi ke darid azatoon tashakor konam/
    yani komake besyar bozorgi shoma emshab be man kardid ba in script haei ke gozashtid inja/

    kheili kheili mamnoon hastam azatoon/
    movafagh bashid

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

رفتن به بالای صفحه