PDA

View Full Version : شمارش معکوس تاریخ در جاوا اسکریپت



imohammad
شنبه 30 بهمن 1389, 10:26 صبح
میخوام یه Script ای بنویسم که تاریخ معین معکوس بشماره و وقتی 0 شد یه متننی بنویسه
به اینصورت 21روز و 14 ساعت و 23 دقیقه و 18 ثانیه.

چطوری باید اینکارو کنم؟

hossin.esm
شنبه 30 بهمن 1389, 11:52 صبح
http://www.dreamincode.net/forums/topic/171432-getting-the-difference-of-two-dates/

http://www.javascriptkit.com/javatutors/time1.shtml

imohammad
شنبه 30 بهمن 1389, 16:26 عصر
والا من چیزی سر در نمیارم
اگه ممکنه یه کد بدین که تاریخو بهش بدیم بصورت "25 روز و 18 ساعت و 34 دقیقه و 21 ثانیه" خروجی بده و کم بشه:لبخند:
شرمنده دیگه پررو شدم

Mr FTHEL
شنبه 30 بهمن 1389, 21:06 عصر
ببین اگر میخوای کد تحویل سال بنویسی بهتره از زمان سرور و php کمک بگیری :قهقهه:

hossin.esm
شنبه 30 بهمن 1389, 21:10 عصر
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function d()
{
var sta="2011/02/20 00:00:00 ";
var currentTime = new Date();
var startDate = new Date(sta)

var dif=startDate-currentTime;
var s=1000;
var m=1000*60;
var h=1000*60*60;
var d=1000*60*60*24;

var days=Math.floor(dif/d);
dif-=days*d;
if (dif<=0)dif=0;

var hours=Math.floor(dif/h);
dif-=hours*h;
if (dif<=0)dif=0;

var minutes=Math.floor(dif/m);
dif-=minutes*m;
if (dif<=0)dif=0;

var seconds=Math.floor(dif/s);
document.getElementById('d').innerHTML=" day:"+days+" hours:"+hours+" minutes:"+minutes+" second:"+seconds;
}
setInterval("d()",1000);
</script>

</head>
<body>
<div id="d"> </div>
</body>
</html>

imohammad
یک شنبه 01 اسفند 1389, 20:42 عصر
با تشکر از دوستان حاصل کار تو لینک زیر قرار گرفته
http://forum.joomfa.org/post141745.html
hossin.esm عزیز اگه مایلی مشخصاتت رو بده تا توی تاپیک مربوطه اعلام کنیم
:لبخندساده:

Mr FTHEL
یک شنبه 01 اسفند 1389, 22:51 عصر
ببخشید اسپم دادم
دوست عزیز برای تاریخ مونده به عید بهتره از سرور و php کمک بگیری با جاوااسکریپت تنها کارت نمیشه :چشمک: چون این کد دوست عزیزمون اگر تاریخ عوض کنی عوض میشه دیگه:چشمک:

imohammad
دوشنبه 02 اسفند 1389, 08:53 صبح
ببخشید اسپم دادم
دوست عزیز برای تاریخ مونده به عید بهتره از سرور و php کمک بگیری با جاوااسکریپت تنها کارت نمیشه :چشمک: چون این کد دوست عزیزمون اگر تاریخ عوض کنی عوض میشه دیگه:چشمک:
بله متوجه هستم
php رو مبتدی بلدم فقط چندتا مشکل هست:
1-ساعت سرور رو چطور میشه تو php نمایش داد؟
2-چطور میشه با php کدی نوشت که مثل جاوا اسکریپت هر ثانیه متن صفحه رو تغییر داد؟
ممنون از راهنماییت

tux-world
دوشنبه 02 اسفند 1389, 10:08 صبح
حالا اگه بخواییم زمان جاری سرور رو به صورت آنلاین یعنی ثانیه و دقیقه شمار یه جای سایت بذاریم چی؟ ساعت همشه دسترس باشه و نیازی به ساعت سیستم کلاینت نباشه چون بیشتر مواقع اشتباهه

Mr FTHEL
دوشنبه 02 اسفند 1389, 21:40 عصر
بله متوجه هستم
php رو مبتدی بلدم فقط چندتا مشکل هست:
1-ساعت سرور رو چطور میشه تو php نمایش داد؟
2-چطور میشه با php کدی نوشت که مثل جاوا اسکریپت هر ثانیه متن صفحه رو تغییر داد؟
ممنون از راهنماییت



حالا اگه بخواییم زمان جاری سرور رو به صورت آنلاین یعنی ثانیه و دقیقه شمار یه جای سایت بذاریم چی؟ ساعت همشه دسترس باشه و نیازی به ساعت سیستم کلاینت نباشه چون بیشتر مواقع اشتباهه

برای این کار بهتر هست توی انجمن php برید از اونا کمک بگیرید و همیجا با اوا اسکریپت
و اگر میتونید میتونید بگید ساعت سرور رو اوکی کنن:قهقهه:

hossin.esm
شنبه 07 اسفند 1389, 08:16 صبح
این هم کد برای گرفتن تاریخ از سرور

گرفتن تاریخ و ساعت جاری از سرور

var currentTime = new Date("<?php echo date('Y/m/d H:i:s a'); ?>");



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>
<body>
<div id="d"> </div>
<script type="text/javascript">
var currentTime = new Date("<?php echo date('Y/m/d H:i:s a'); ?>");
var sta="2011/02/21 00:00:00 ";
var startDate = new Date(sta)
function d()
{
currentTime*=1;
currentTime+=1000;
var dif=startDate-currentTime;
var s=1000;
var m=1000*60;
var h=1000*60*60;
var d=1000*60*60*24;

var days=Math.floor(dif/d);
dif-=days*d;
if (dif<=0)dif=0;

var hours=Math.floor(dif/h);
dif-=hours*h;
if (dif<=0)dif=0;

var minutes=Math.floor(dif/m);
dif-=minutes*m;
if (dif<=0)dif=0;

var seconds=Math.floor(dif/s);
document.getElementById('d').innerHTML=" day:"+days+" hours:"+hours+" minutes:"+minutes+" second:"+seconds;
}
setInterval("d()",1000);
</script>

</body>
</html>

m_karimi
شنبه 07 اسفند 1389, 21:54 عصر
این هم کد برای گرفتن تاریخ از سرور

گرفتن تاریخ و ساعت جاری از سرور

var currentTime = new Date("<?php echo date('Y/m/d H:i:s a'); ?>");



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>
<body>
<div id="d"> </div>
<script type="text/javascript">
var currentTime = new Date("<?php echo date('Y/m/d H:i:s a'); ?>");
var sta="2011/02/21 00:00:00 ";
var startDate = new Date(sta)
function d()
{
currentTime*=1;
currentTime+=1000;
var dif=startDate-currentTime;
var s=1000;
var m=1000*60;
var h=1000*60*60;
var d=1000*60*60*24;

var days=Math.floor(dif/d);
dif-=days*d;
if (dif<=0)dif=0;

var hours=Math.floor(dif/h);
dif-=hours*h;
if (dif<=0)dif=0;

var minutes=Math.floor(dif/m);
dif-=minutes*m;
if (dif<=0)dif=0;

var seconds=Math.floor(dif/s);
document.getElementById('d').innerHTML=" day:"+days+" hours:"+hours+" minutes:"+minutes+" second:"+seconds;
}
setInterval("d()",1000);
</script>

</body>
</html>

میشه بگید فرق
currentTime*=1; و
currentTime=currentTime.getTime(); در چیست و چرا وقتی دومی را به کار میبریم زمان تغییر نمی کند.

hossin.esm
یک شنبه 08 اسفند 1389, 09:04 صبح
این کد فقط باعث میشه تا مقدار currentTime به عدد تبدیل بشه


currentTime*=1;





وکد یک ثانیه به زمان اضافه میکنه.

currentTime+=1000;






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

currentTime=currentTime.getTime();

m_karimi
یک شنبه 08 اسفند 1389, 13:04 عصر
چرا نباید جواب بدهد؟چون خروجی هر دو یکی است و عدد است. و وقتی هر دو را به اضافه 1000 می کنیم جواب یکسان است.

currentTime*=1;
currentTime+=1000;
و
currentTime=currentTime.getTime();
currentTime+=1000; یک عدد را می دهد.

hossin.esm
یک شنبه 08 اسفند 1389, 14:00 عصر
من هم این کار رو کردم اما currentTime را به صورت رشته در نظر میگرفت و 1000 را به آخر رشته اضافه میکرد.
شاید هم یک جای کار را اشتباه کرده بودم.

meysamg
شنبه 15 شهریور 1393, 13:06 عصر
سلام دوستان :

آقا این کد اگه بخوایم وقتی زمان تموم شده منفی نزنه و صفر بشه چجوری باید عمل کنیم ؟



<script type="text/javascript">
function d() {
var sta = '<%=endtime%>';
var currentTime = new Date();
var startDate = new Date(sta)


var dif = startDate - currentTime;
var s = 1000;
var m = 1000 * 60;
var h = 1000 * 60 * 60;
var d = 1000 * 60 * 60 * 24;


var days = Math.floor(dif / d);
dif -= days * d;
if (dif <= 0) dif = 0;


var hours = Math.floor(dif / h);
dif -= hours * h;
if (dif <= 0) dif = 0;


var minutes = Math.floor(dif / m);
dif -= minutes * m;
if (dif <= 0) dif = 0;


var seconds = Math.floor(dif / s);
document.getElementById('cdtimer').innerHTML = "<table align=\"center\"><tr><td>روز&nbsp;</td><td>&nbsp;ساعت&nbsp;</td><td>&nbsp;دقیقه&nbsp;</td><td>&nbsp;ثانیه&nbsp;</td></tr><tr><td>" + days + "</td><td>" + hours + "</td><td>" + minutes + "</td><td>" + seconds + "</td></tr></table>";
}
setInterval("d()", 1000);
</script>

blotran
شنبه 15 شهریور 1393, 16:17 عصر
میتونید یک شرط بگذارید که وقتی شمارنده صفر شد clearInterval رو اجرا کنید.
این آدرس رو هم نگاه کنید.کمکتون میکنه
http://www.w3schools.com/jsref/met_win_clearinterval.asp

meysamg
دوشنبه 17 شهریور 1393, 17:59 عصر
ممنون ، اما ما اینجا روز ، ساعت و دقیقه و ثانیه داریم - clearinterval برای هرکروم جدا باید باشه !؟

meysamg
جمعه 21 شهریور 1393, 15:33 عصر
کسی بلد نیست ؟!

mansa62
پنج شنبه 20 شهریور 1399, 07:35 صبح
خیلی عالی بود فقط پشت اعداد تک رقمی صفر نداشت ... میشه اینم اضافه کنید؟

mansa62
پنج شنبه 20 شهریور 1399, 07:36 صبح
خیلی عالی بود فقط پشت اعداد تک رقمی صفر نداشت میشه اینم اصلاح کنید؟