Ali_Sedaghat
یک شنبه 16 مرداد 1390, 10:36 صبح
با سلام خدمت شما و آرزوي قبولي طاعات و عبادات تان
احتراماً به عرض تان برسانم كه من مدتي است دنبال كدي جهت به دست آوردن اختلاف بين دو تاريخ و نمايش آن در سايتم هستم
براي روشن شدن موضوع بهتره اين طور توضيح بدم كه :
فرض كنيد مسابقه اي در تاريخ 2011/08/05 - 9:30:25 شروع شده و در اين تاريخ 2011/08/07 - 22:45:50 به پايان خواهد رسيد. حالا مي خوام مهلت شركت در اين مسابقه به صورت زير نمايش داده بشه :
زمان باقيمانده : 2 روز و 8 ساعت و 15 دقيقه و 55 ثانيه
يا
زمان باقيمانده : 32 ساعت و 15 دقيقه و 55 ثانيه
البته ناگفته نمونه كه من قطعه كد زير رو از سايت دريافت كردم اما وقتي كه به جاي علامت (:) در خط 22 يا خط 42 از عبارات ساعت و دقيقه و ثانيه و يا هر كاراكتر ديگري استفاده مي كنم در اجراي اسكريپت مشكل به وجود مياد. حالا اين تكه كد رو در پايين اضافه مي كنم. اميدوارم كه شما بتونيد منو راهنمايي كنيد.
در ضمن مي خوام وقتي كه زمان به صفر رسيد اجراي كد شمارش معكوس متوقف شده و يه پيغام به جاش نمايش بده.
ممنون مي شم اگه منو راهنمايي كنيد.
با احترام
صداقت
<?php
function countdown()
{
// $start = zaman aghaz
// $countdown zaman mande be aghaz
global $start,$countdown;
$second=1;
$minute=$second*60;
$hour=$minute*60;
$day=$hour*24;
$week=$day*7;
$time=$start;
$offset=mktime();
$difference=$time-$offset;
$hcount=0;
for($hcount=0; $difference>$hour; $hcount++) {
$difference=($difference-$hour); }
$mcount=0;
for($mcount=0; $difference>$minute;
$mcount++){
$difference=$difference-$minute;}
$countdown=$hcount.':'.$mcount.':'.$difference; //Hour , Min, Sec
return $countdown;
}
$start = mktime()+2000; //---> Be jaye 2000 bayad zamane baghi mandeh ra nevesht.
?>
<script type="text/javascript">
function timer(data, lnk){
dat=document.getElementById(data);
var time=(dat.innerHTML).split(":"); var done=0;
if (time[2]>0) time[2]--;
else{
time[2]=59;
if(time[1]>0) time[1]--;
else{time[1]=59;
if (time[0]>0) time[0]--;
else { clearTimeout(id[data]); window.location.href=lnk; done=1;} }}
if(!done){
dat.innerHTML=time[0]+":"+time[1]+":"+time[2];
id[data]=setTimeout("timer('"+data+"', '"+lnk+"')", 1000); }}
</script>
<!-- Remaining <span id="time"><?php echo countdown(); ?></span> to <?php echo date('H:i:s', $start); ?> -->
Remaining <span id="time"><?php echo countdown(); ?></span>
<script type="text/javascript">var id=new Array(50); timer('time','');</script>
احتراماً به عرض تان برسانم كه من مدتي است دنبال كدي جهت به دست آوردن اختلاف بين دو تاريخ و نمايش آن در سايتم هستم
براي روشن شدن موضوع بهتره اين طور توضيح بدم كه :
فرض كنيد مسابقه اي در تاريخ 2011/08/05 - 9:30:25 شروع شده و در اين تاريخ 2011/08/07 - 22:45:50 به پايان خواهد رسيد. حالا مي خوام مهلت شركت در اين مسابقه به صورت زير نمايش داده بشه :
زمان باقيمانده : 2 روز و 8 ساعت و 15 دقيقه و 55 ثانيه
يا
زمان باقيمانده : 32 ساعت و 15 دقيقه و 55 ثانيه
البته ناگفته نمونه كه من قطعه كد زير رو از سايت دريافت كردم اما وقتي كه به جاي علامت (:) در خط 22 يا خط 42 از عبارات ساعت و دقيقه و ثانيه و يا هر كاراكتر ديگري استفاده مي كنم در اجراي اسكريپت مشكل به وجود مياد. حالا اين تكه كد رو در پايين اضافه مي كنم. اميدوارم كه شما بتونيد منو راهنمايي كنيد.
در ضمن مي خوام وقتي كه زمان به صفر رسيد اجراي كد شمارش معكوس متوقف شده و يه پيغام به جاش نمايش بده.
ممنون مي شم اگه منو راهنمايي كنيد.
با احترام
صداقت
<?php
function countdown()
{
// $start = zaman aghaz
// $countdown zaman mande be aghaz
global $start,$countdown;
$second=1;
$minute=$second*60;
$hour=$minute*60;
$day=$hour*24;
$week=$day*7;
$time=$start;
$offset=mktime();
$difference=$time-$offset;
$hcount=0;
for($hcount=0; $difference>$hour; $hcount++) {
$difference=($difference-$hour); }
$mcount=0;
for($mcount=0; $difference>$minute;
$mcount++){
$difference=$difference-$minute;}
$countdown=$hcount.':'.$mcount.':'.$difference; //Hour , Min, Sec
return $countdown;
}
$start = mktime()+2000; //---> Be jaye 2000 bayad zamane baghi mandeh ra nevesht.
?>
<script type="text/javascript">
function timer(data, lnk){
dat=document.getElementById(data);
var time=(dat.innerHTML).split(":"); var done=0;
if (time[2]>0) time[2]--;
else{
time[2]=59;
if(time[1]>0) time[1]--;
else{time[1]=59;
if (time[0]>0) time[0]--;
else { clearTimeout(id[data]); window.location.href=lnk; done=1;} }}
if(!done){
dat.innerHTML=time[0]+":"+time[1]+":"+time[2];
id[data]=setTimeout("timer('"+data+"', '"+lnk+"')", 1000); }}
</script>
<!-- Remaining <span id="time"><?php echo countdown(); ?></span> to <?php echo date('H:i:s', $start); ?> -->
Remaining <span id="time"><?php echo countdown(); ?></span>
<script type="text/javascript">var id=new Array(50); timer('time','');</script>