سبد (0)

تبلیغات

زمان در JavaScript

از شیء Date برای کار کردن با تاریخ و زمان استفاده می شود.


مثال - خودتان امتحان کنید

Wiki

برگرداندن تاریخ و زمان جاری
چگونه از متد ()Date برای چاپ کردن تاریخ جاری استفاده کنیم

()getFullYear
برگرداندن سال جاری با استفاده از متد ()getFullYear

()getTime
برگرداندن تعداد میلی ثانیه های گذشته از تاریخ 01/01/1970 تا امروز

()setFullYear
چگونه از متد ()setFullYear برای تنظیم یک تاریخ دلخواه استفاده کنیم

()toUTCString
چگونه با استفاده از متد ()toUTCString تاریخ جاری را به یک رشته تبدیل کنیم (بر طبق UTC)

()getDay
چگونه با استفاده از متد ()getDay و یک آرایه، روز جاری را چاپ کنیم

نمایش یک ساعت
چگونه یک ساعت (با ثانیه شمار) را روی صفحه وب نمایش دهیم


مرجع کامل شیء Date

Wiki

برای مشاهده یک مرجع کامل از خصوصیت ها (Property) و متدهای (Method) مربوط به شیء Date، به لینک زیر مراجعه نمایید:

کلیه متدهای شیء Date


ایجاد شیء Date

Wiki

شیء Date، برای کار کردن با تاریخ و زمان استفاده می شود.

شیء Date را می توان با استفاده از constructor یا سازنده ()Date ایجاد نمود.

چهار روش برای اعلان تاریخ وجود دارد:

new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)

بیشتر پارامترهای بالا اختیاری هستند. در صورت مشخص نشدن، مقدار صفر ارسال خواهد شد.

زمانی که یک شیء Date ایجاد می شود، تعدادی متد (method) برای کار روی آن در دسترس قرار می گیرد. بیشتر این متدها برای تنظیم کردن (set) و یا گرفتن (get) سال، ماه، روز، ساعت، دقیقه، ثانیه و میلی ثانیه است (البته با توجه به تاریخ سیستم و یا زمان جهانی UTC).

تمام محاسبات براساس میلی ثانیه با زمان شروع 00:00:00 01/01/1970 و طبق زمان جهانی (UTC) می باشد. یک روز شامل 86,400,000 میلی ثانیه است.

چند مثال برای اعلان تاریخ:

var today = new Date()
var d1 = new Date("October 13, 1975 11:13:00")
var d2 = new Date(79,5,24)
var d3 = new Date(79,5,24,11,33,0)

تنظیم (Set) تاریخ

Wiki

با استفاده از متدهای شیء Date به آسانی می توانید تاریخ را دستکاری کنید.

در مثال زیر، یک تاریخ مشخص (14/01/2010) برای شیء Date تنظیم شده است:

var myDate=new Date();
myDate.setFullYear(2010,0,14);

و در مثال زیر، تاریخ 5 روز آینده، برای شیء Date تنظیم شده است:

var myDate=new Date();
myDate.setDate(myDate.getDate()+5);

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


مقایسه دو تاریخ مختلف

Wiki

می توان از شیء Date برای مقایسه دو تاریخ نیز استفاده نمود.

در مثال زیر، تاریخ جاری با تاریخ 14/01/2100 مقایسه شده است:

var x=new Date();
x.setFullYear(2100,0,14);
var today = new Date();

if (x>today)
  {
  alert("Today is before 14th January 2100");
  }
else
  {
  alert("Today is after 14th January 2100");
  }

دیدگاه‌ها  

+1 # مهدی دلاور 1396-05-09 21:40
سلام.
اون خطی که دستور setTimeOut استفاده شده رو توضیح دادین که برای تکرار تابع هر 0.5 ثانیه یک بار هست. اما چرا اون رو برابر t قرار دادین؟ هیچ جایی هم از t استفاده نشده. t رو پاک کردم و برنامه باز هم درست اجرا شد. کاربردش چیه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # احسان عباسی 1396-05-10 21:05
function myFunction() {
myVar = setTimeout(func tion(){ alert("Hello") }, 3000);
}

function myStopFunction( ) {
clearTimeout(myVar);
}

به کدهای بالا توجه کنید. اگر تابع اول اجرا شود، پس از سه ثانیه، یک پیغام هشدار نشان داده می شود. اما اگر بخواهیم قبل ازا ین سه ثانیه، تاثیر تابع setTimeout را از بین ببریم، متغیر myVar را در داخل متد clearTimeout مورد استفاده قرار می دهیم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # مهدی دلاور 1396-05-10 22:35
یعنی اون متغیر t اصولا برای همین کار ایجاد میشه و در فقط مثال این درس دیگه متد clearTimeout استفاده نشده.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # احسان عباسی 1396-05-11 10:33
بله درسته.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # حسین 1396-03-23 21:39
با سلام خدمت اساتید سایت بیاموز.
سوال:
چرا وقتی از کد زیر استفاده میکنم بجای نشان دادن ماه جاری ماه قبل رو نمایش میده؟؟؟؟
با توجه به اینکه تاریخ سیستم رو دقیق تنظیم کردم.

var month=x.getMonth();
document.write(month);
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # احسان عباسی 1396-03-23 21:53
سلام.
زیرا متد getMonth یک مقدار از 0 تا 11 را برمی گرداند. بنابراین برای برج 1 میلادی، مقدار 0 و برای برج 2 میلادی مقدار 1 و الی آخر... برگردانده می شود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # حسین 1396-03-23 22:04
ممنون از توجه و جواب سریعتون.
این شکلی بنویسم به نظر شما استاندارد هستش یا جوره دیگه ای باید نوشته بشه؟

var month=x.getMonth()+1;

ممنونم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # احسان عباسی 1396-03-23 22:07
بله به نظر بنده همین روش صحیح می باشد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # شیما 1395-03-15 16:02
درود و ارادت
یه سوال
من می خوام اختلاف دو زمان رو بدست بیارم که یکی از یه متغیر دریافت میشه و یکی دیگه زمان حاله
مثلآ
(2016-06-30 12:37:25) از زمان حال کم بشه و جواب بصورت به ثانیه برگرده که بتونم در یه تایمر ازش استفاده کنم
لطف می کنید اگه راهنمایی کنید
سپاس
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1395-03-19 15:31
با سلام و احترام.
میتونید از نمونه کد زیر استفاده کنید، البته زمان دوم باید زمان حال رو بدید:
var date1 = new Date("7/13/2010");
var date2 = new Date("12/15/2010");
var timeDiff = Math.abs(date2. getTime() - date1.getTime());
var diffDays = Math.ceil(timeD iff / (1000 * 3600 * 24));
alert(diffDays) ;
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # dehghan94 1394-11-23 12:47
با سلام میشه لطف کنیو واین کد که برای نمایش ساعت توضیح بدهید؟؟
t=setTimeout(function(){startTime()},500)
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-11-23 19:22
با سلام و تشکر.
این خط باعث میشه که تابع ()startTime هر 500 میلی‌ثانیه (هر نیم‌ثانیه) یک بار اجرا بشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # mahdizz 1394-07-23 00:47
سلام و عرض ادب
آیا تابعی برای هجری شمسی مثل تابع Date با تمامی پارامترها و متدهایی که Date داره هست یا نه ؟!
من تابع jdate رو از سایت jdf گرفتم اما به زبان php هست و من نیاز به فایل js دارم. ممنون میشم اگه راهنمایی کنید.

با تشکر
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-07-23 07:19
با سلام و تشکر از شما.

معمولا برای تاریخ شمسی در جاوااسکریپیت کم استفاده می‌کنن، ولی اگه کدی برای این زبان نیاز دارید، می‌تونید از کد زیر استفاده کنید:
<!DOCTYPE html>
<html>
<head>
<title>Shamsi date</title>
<meta charset="u tf-8" />
<script>
week= new Array("يكشنبه", "دوشنبه","سه شنبه","چهارشنبه ","پنج شنبه","جمعه","شنبه")
months = new Array("فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دي","بهمن","اسفند");
a = new Date();
d= a.getDay();
day= a.getDate();
month = a.getMonth()+1;
year= a.getYear();
year = (year== 0)?2000:year;
(year<1000)? (year += 1900):true;
year -= ( (month < 3) || ((month == 3) && (day < 21)) )? 622:621;
switch (month) {
case 1: (day<21)? (month=10, day+=10):(month =11, day-=20); break;
case 2: (day<20)? (month=11, day+=11):(month =12, day-=19); break;
case 3: (day<21)? (month=12, day+=9):(month= 1, day-=20); break;
case 4: (day<21)? (month=1, day+=11):(month =2, day-=20); break;
case 5:
case 6: (day<22)? (month-=3, day+=10):(month -=2, day-=21); break;
case 7:
case 8:
case 9: (day<23)? (month-=3, day+=9):(month- =2, day-=22); break;
case 10:(day<23)? (month=7, day+=8):(month= 8, day-=22); break;
case 11:
case 12:(day<22)? (month-=3, day+=9):(month- =2, day-=21); break;
default: break;
}
document.write(" "+week[d]+ " "+day+&quo t; "+months[m onth-1]+" "+ year);
</script>
</head>
<body>
<span style="font-size:9pt;color:#333333;direction:rtl"><script>showdate()</script></span>
</body>
</html>


کل صفحه در قالب html ذخیره شده و شما برای مشاهده نیاز هست، کل کد رو کپی و در یک فایل html ذخیره کنید و سپس اجرا!! نتیجه رو ملاحظه خواهید کرد.

کد موردنیاز مابین تگ‌های نوشته شده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # محمد نیکنام 1393-12-08 11:13
سلام خسته نباشید.
می خواستم بدونم برا بدست آوردن تاریخ شمسی باید چکار کرد؟

ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+7 # مظاهر نصوحی 1393-12-09 08:16
سلام اگر هدف شما تبدیل تاریخ میلادی به شمسی است باید یک تابع تبدیل بنویسید. که با یک سرچ ساده تو اینترنت می تونید کد مربوطه رو بدست بیارید.
کد زیر تابعی است که این تبدیل رو انجام می دهد و برای 2015/02/28 نیز تاریخ شمسی را در یک پیغام نمایش می دهد:
<html>
<head>
<script>
var g_days=[31,28,3 1,30,31,30,31,3 1,30,31,30,31],
j_days=[31,31,3 1,31,31,31,30,3 0,30,30,30,29];
function gregorianToJala li(g_y, g_m, g_d) {
g_y = parseInt(g_y); g_m = parseInt(g_m);
g_d = parseInt(g_d);
var gy = g_y-1600;
var gm = g_m-1; var gd = g_d-1;
var g_day_no = 365*gy+parseInt ((gy+3) / 4)-parseInt((gy +99)/100)+parse Int((gy+399)/40 0);
for (var i=0; i < gm; ++i) g_day_no += g_days;
if (gm>1 && ((gy%4==0 && gy%100!=0) || (gy%400==0))) ++g_day_no;
g_day_no += gd; var j_day_no = g_day_no-79;
var j_np = parseInt(j_day_ no/ 12053);
j_day_no %= 12053;
var jy = 979+33*j_np+4*parseInt(j_day_ no/1461);
j_day_no %= 1461; if(j_day_no >= 366)
{ jy += parseInt((j_day _no-1)/ 365);
j_day_no = (j_day_no-1)%36 5;
}
for(var i = 0; i < 11 && j_day_no >= j_days; ++i)
j_day_no -= j_days; var jm = i+1;
var jd = j_day_no+1; return [jy,jm,jd];
}
</script>
</head>
<body>
<script>
alert(gregorian ToJalali(2015,0 2,28));
</script>
<br/> <br/> </body>
</html>
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+7 # [email protected] 1393-10-06 12:08
سلام و خسته نباشید

تشکر میکنم از سایت مفیدتان

این لینک complete Date object reference پاک شده لطف کنید اگر میشود دوباره لینک جدید بزارید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-10-06 14:12
سلام، ممنون اصلاح شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی JavaScript

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

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