طراحی سایت حرفه ای، امن و با کیفیت را با شرکت سایت سازان تجربه کنید !
02188471521 –– 02140881038 –– 09120199386

آبجکت های ریاضی، متد random و تاریخ در جاوا اسکریپت

آبجکت های ریاضی، متد random و تاریخ در جاوا اسکریپت

دوستان عزیز سلام؛ امروز در خدمت شما عزیزان هستم با آموزش JavaScript – بخش چهارم و در این بخش مطالب زیر را برای شما دوستان شرح خواهم داد:

  • آبجکت های ریاضی در جاوا اسکریپت
  • متد random در جاوا اسکریپت
  • تاریخ در جاوا اسکریپت

آبجکت های ریاضی در جاوا اسکریپت

در زبان جاوا اسکریپت آبجکت هایی وجود دارند که اجازه انجام عملیات محاسباتی را به برنامه نویس می دهند. این آبجکت ها را math object می نامیم و عبارتند از:

Math.round(x) : این آبجکت نزدیکترین عدد به x را بر می گرداند.

Math.pow(x, y) : این آبجکت عدد x را به توان عدد y می رساند.

Math.sqrt(x) : آبجکتی برای محاسبه ریشه دوم پارامتر x می باشد.

Math.abs(x) : جهت محاسبه ی قدر مطلق یک عدد از این آبجکت استفاده می شود.

Math.ceil(x) : بزرگترین عدد صحیح بعد از عدد اعشاری x را بر می گرداند.

Math.floor(x) : جزء صحیح عدد اعشاری x را محاسبه می کند.

Math.sin(x)  و Math.cos(x) : همانطور که پیداست این دو متد مقدار سینوس و کسینوس زاویه x را محاسبه می کنند. توجه کنید که پارامتری که به این آبجکت ها می دهید زاویه ای با واحد رادیان باشند.

برای تبدیل واحد درجه به رادیان، اندازه زاویه (با واحد درجه) را در عدد پی ضرب می کنیم و حاصل را بر 180 تقسیم می کنیم. پس مقداری که این دو متد بر می گردانند، مقداری عددی بین 1 و 1- خواهد بود.

Math.min()  و Math.max() : اگر لیستی از اعداد داشته باشیم، توسط این دو آبجکت می توان بزرگترین و کوچکترین آن ها را پیدا کرد.

Math.random() : مقداری تصادفی بین 0 و 1 را بر می گرداند.

به مثال زیر توجه کنید:

آموزش JavaScript – بخش چهارم

حضور شما عارضم که در جاوا اسکریپت 8 ثابت داریم که می توان آنها را در کنار آبجکت های گفته شده استفاده کرد. این ثابت ها عبارتند از:

Math.Eعدد نپر را بر می گرداند.
Math.PIعدد پی را بر می گرداند.
Math.SQRTxریشه دوم عدد x را بر می گرداند.
Math.LNxLN عدد x را محاسبه می کند.
Math.LOGaxلگاریتم عدد x را در مبنای a محاسبه می کند.

متد Random در جاوا اسکریپت

همانطور که گفتم این متد مقداری تصادفی بین 0 و 1 را در مرورگر برمیگرداند. اما می توان با استفاه از این متد، یک عدد صحیح تصادفی را ایجاد کرد.

برای تولید یک عدد صحیح تصادفی این متد را همراه با متد floor()  به کار می بریم:

این کد همیشه عددی تصادفی بین 0 و a-1 را بر میگرداند:

آموزش JavaScript – بخش چهارم

دستور زیر عددی تصادفی بین 0 و a را بر میگرداند:

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

آموزش JavaScript – بخش چهارم

اگر بخواهیم در بین اعداد تصادفی ساخته شده هم max و هم min قرار داشته باشد دستور زیر را بعد از return می نویسیم:

و اما مبحث بعدی:

تاریخ در جاوا اسکریپت

در ادامه این جلسه به شما خواهم گفت که چگونه و با استفاده از چه متد ها و ویژگی هایی از جاوا اسکریپت میتوان با تاریخ کارکرد. همراه من باشید:

تاریخ

در جاوا اسکریپت آبجکت Date()  امکان کار کردن با روز، ماه، سال، ساعت، دقیقه، ثانیه و حتی میلی ثانیه را به برنامه نویس می دهد.

جاوا اسکریت تاریخ را به دو صورت رشته ای و عددی بر میگرداند. مقدار رشته ای که روز هفته، تاریخ، ساعت، اختلاف ساعت با گرینویچ (متناسب با تنظیمات سیستم) را می دهد.

همچنین مقدار عددی، تعداد میلی ثانیه از تاریخ 1-1-1970 ساعت 00:00 تا زمان حال را نمایش می دهد.

نتیجه کدهای زیر را در مرورگر خود مشاهده نمایید:

آبجکت تاریخ

اگر متد Date()  را به یک آبجکت تبدیل کنیم، می توانیم به راحتی با آن کار کنیم که برای این کار چهار روش زیر را داریم:

روش اول که تاریخ و ساعت همان لحظه را نمایش می دهد.

در روش دوم که مقدار عددی را درون پرانتز می نویسیم، آبجکتی را ایجاد می کند که تعداد میلی ثانیه های دریافتی را با زمان صفر جمع می کند و تاریخ را بر می گرداند. زمان صفر 1-1-1970 ساعت 00:00 است. (هر روز 86,400,000 میلی ثانیه است.)

در روش سوم هم تاریخ نوشته شده در پرانتز، برگردانده می شود.

در روش چهارم نیز می توان تاریخی که در مرورگر برگردانده می شود را با 7 مقدار عددی تنظیم کرد که البته میتوان از هر کدام از پارامترها نیز صرف نظر کرد.

در نظر داشته باشید که برای ماه یک مقدار بین 0 تا 11 مجاز است. مقدار 0 برابر ماه January و مقدار 11 برابر با ماه December است.

به مثال زیر توجه کنید:

آموزش JavaScript – بخش چهارم

حال توجه شما را به مطلب زیر جلب می کنم:

زمانی که با استفاده از متد Date()  تاریخ را در مرورگر نمایش می دهید، مرورگر کاملا اتوماتیک قالب زمان را با متد toString()  به رشته تبدیل می کند. در این حالت دو دستور زیر هیچ تفاوتی با هم ندارند:

دو دستور بالا یک متن را در مرورگرنمایش خواهند داد. برای تغییر قالب نمایش زمان از دو متد toUTCString()  (که قالب استاندارد می باشد) و toDateString()  استفاده می کنیم:

آموزش JavaScript – بخش چهارم

و اما توجه کنید که

منطقه زمانی یا همان time zone که جاوا اسکریپت در نظر می گیرد، همان time zone مرورگر است.

قالب تاریخ

در مثال ها دیدیم که جاوا اسکریپت به صورت پیش فرض تاریخ را به صورت زیر در مرورگر نمایش می دهد:

Wed Mar 25 2015 04:30:00 GMT+0430 (Iran Daylight Time)

باید بدانید که در جاوا اسکریپت تاریخ را با چهار قالب می توان نمایش داد که عبارتند از:

  • ISO Date: مثلا “2017-03-09”
  • Short Date: یعنی نوشتن تاریخ به صورت “03/25/2017”.
  • Long Date: نوشتن تاریخ کامل به صورت مثلا “Dec 15 2017” و یا مثلا “25 Dec 2017”.
  • Full Date: نوشتن روز، ماه و تاریخ به صورت مثلا “Sunday December 10 2017”.

در ادامه با این قالب ها بیشتر آشنا می شویم:

ISO Date

این قالب که قالب استاندارد بین المللی نمایش تاریخ می باشد و ساختار آن به صورت YYYY-MM-DD است. در این حالت تاریخ دقیق متناسب با منطقه زمانی سیستم کاربر، نمایش داده می شود.

ساختار دیگری که در این قالب وجود دارد، نوشتن ماه و سال به صورت YYYY-MM است.

علاوه بر دو روش بالا میتوان فقط سال را به صورت YYYY در مرورگر نمایش داد.

به مثال زیر توجه کنید:

آموزش JavaScript – بخش چهارم

شاید بعضی از شما دوستان بپرسید که می توان علاوه بر تاریخ، زمان را نیز در این قالب نمایش داد؟

البته که می توانیم این کار را انجام دهیم، در این روش می توان ساعت، دقیقه، و ثانیه را هم به طور خاص مثلا (“2015-03-25T12:00:00Z”) تعیین کرد.

همانطور که می بینید تاریخ و زمان را با حرف T از هم جدا می کنیم.

می توانید حدس بزنید که حرف Z چه چیزی را تعیین می کند؟

بله دوستان، حرف Z را نیز برای تعیین فرمت زمان UTC (Universal Time Coordinated) در انتهای پارامتر قرار می دهیم.

اگر بخواهیم منطقه زمانی خاصی را نسبت به UTC تنظیم کنیم، چکار می کنیم؟

در این صورت حرف Z را برداشته و منطقه زمانی مورد نظر را با قالب +HH:MM و یا –HH:MM در ادامه پارامتر می نویسیم ولی منطقه زمانی که نمایش داده می شود، منطقه زمانی سیستم کاربر است اما زمانی که در مرورگر نمایش داده می شود، با زمانی که شما در پارامتر تعیین کرده اید متفاوت است!

پس توجه داشته باشید که:

درحالت کلی اگر منطقه زمانی سیستم کاربر hh:mm باشد و شما منطقه زمانی +HH:MM را تنظیم کرده باشید، تفاوت زمان نمایش داده شده در مرورگر و زمان تعیین شده توسط شما، از فرمول زیر محاسبه می شود:

(hh:mm)-(+HH:MM)

به مثال زیر توجه کنید:

آموزش JavaScript – بخش چهارم

همانطور که می بینید در متغیر b من زمان 09:01:00 را تنظیم کرده ام ولی 10:01:00 در مرورگر برگردانده شده است. چرا؟

چون تفاوت منطقه زمانی سیستم من که 3:30+ می باشد و منطقه زمانی که تعیین کرده ام (+2:30) مثبت یک ساعت (+1 ساعت) می باشد.

(+03:30)-(+02:30) = +1

پس زمان نمایش داده شده 1+ ساعت با زمان تعیین شده تفاوت دارد.

Short Date

در این قالب ساختار زمان را به صورت MM/DD/YYYY تعیین می کنیم. توجه کنید که روز و ماه را باید به صورت دو رقمی بنویسیم. چون ممکن است در بعضی مرورگرها تاریخ به درستی نمایش داده نشود.

اگر مطابق ساختار گفته شده تاریخ را وارد نکنیم چه اتفاقی میفتد؟

در مثال زیر می بینیم:

آموزش JavaScript – بخش چهارم

Long Date

در این قالب می توان تاریخ را به چند روش تعیین کرد:

همانطور که می بینید اگر ساعت تنظیم نشود، ساعت 00:00:00 نمایش داده خواهد شد و همچنین در این قالب تاریخ را به هر روش دلخواه می توان تنظیم کرد.

و آخرین قالب:

Full Date

مثال زیر نحوه تنظیم تاریخ و زمان را در این قالب توضیح می دهد:

آموزش JavaScript – بخش چهارم

در مثال بالا می بینید که با وجود اینکه من روز sun را انتخاب کرده ام، مرورگر fri را برگردانده است. چرا؟

چون مطابق با تاریخ سیستم من، امروز جمعه می باشد و جاوا اسکریپت اشتباه من در تعیین نام روز را تصحیح کرده است.

دوستان عزیز آخرین مبحثی را که در این قسمت بررسی می کنیم متد های تاریخ می باشد.

متد های تاریخ

متدهای تاریخ در جاوا اسکریپت به دو دسته تقسیم می شوند. متدهای دریافت و متدهای تنظیم که با استفاده از آنها می توانیم تاریخ را دریافت و تنظیم کنیم.

در ابتدا متدهای دریافت تاریخ را می بینیم:

متدهای دریافت تاریخ

متدهای دریافت (get) بخش های مختلف تاریخ عبارتند از:

getDate() : این متد روز را با عدد دریافت می کند. مثلا روز 20 ام، 15 ام و … . پس مقداری بین 1 و 31 را می پذیرد.

getDay() : این متد روز های هفته را با عدد نمایش می دهد. مثلا روز اول، روز دوم و … . توجه کنید که 7 روز در هفته داریم که شمارش از عدد 0 شروع می شود. پس این متد عددی بین 0 و 6 را خواهد پذیرفت.

getFullYear() : این متد سال را با چهار عدد (YYYY) دریافت می کند.

getHours() : متد دریافت ساعت می باشد و عددی بین 0 و 23 را قبول می کند.

getMilliseconds() : متد دریافت میلی ثانیه می باشد. پس بازه قابل قبول 0 تا 999 می باشد.

getMinutes() : دریافت دقیقه با عددی بین 0 تا 59.

getMonth() : این متد ماه را با عددی بین 0 تا 11 دریافت می کند.

getSeconds() : دریافت ثانیه ( 0 تا 59 ).

getTime() : زمان را بر حسب میلی ثانیه از 01-01-1970 دریافت می کند.

اگر بخواهیم تاریخ را با منطقه زمانی UTC برگردانیم، UTC را بین get و حرف بعدی قرار می دهیم. مثلا برای دریافت ماه بر حسب UTC متد getUTCMonth()  را داریم:

آموزش JavaScript – بخش چهارم

همانطور که می بینید این متد ها بر حسب تاریخ سیستم، داده ها را دریافت و نمایش می دهند.

روز 0 در جاوا اسکریپت، Sunday است.

و اما یک مطلب جالب:

می توان روزهای هفته را در یک آرایه قرار داد و سپس روزی که در آن هستیم را در مرورگر برگردانیم:

آموزش JavaScript – بخش چهارم

متدهای تنظیم تاریخ

متدهای زیر برای تنظیمات (set) تاریخ استفاده می شوند:

setDate() : تنظیم روز با عددی بین 1 تا 31.

setFullYear() : تنظیم سال بر حسب ماه یا روز.

setHours() : تنظیم ساعت با عددی بین 0 تا 23.

setMilliseconds() : تنظیم میلی ثانیه با عددی بین 0 تا 999.

setMinutes() : تنظیم دقیقه با عددی بین 0 تا 59.

setMonth() : تنظیم ماه با عددی بین 0 تا 11.

setSeconds() : تنظیم ثانیه با عددی بین 0 تا 59.

setTime() : تنظیم تاریخ.

آموزش JavaScript – بخش چهارم

همانطور که می بینید می توان ماه یا سال را با جمع و یا تفریق، جابجا کرد. مثلا در مثال بالا، متغیر c تاریخ سیستم را دریافت می کند و تاریخ 20 روز بعد را بر می گرداند.

با مطلب جالب زیر این جلسه را به پایان می رسانم:

متد Date.parse()

در مثال زیر می بینید که با استفاده از این متد می توان هر تاریخی را به میلی ثانیه تبدیل کرد:

آموزش JavaScript – بخش چهارم

وقتی تعداد میلی ثانیه ها محاسبه شد، می توان آن را به آبجکت تبدیل کرد:

تاریخ ها را به راحتی می توان با هم مقایسه کرد. در مثال زیر یک مقایسه ساده را انجام می دهیم:

آموزش JavaScript – بخش چهارم

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

دیدگاه ‏خود را بنویسید