PDA

View Full Version : تعیین زمان روزهای هفته بر اساس زمان جاری



masiha68
سه شنبه 06 اسفند 1392, 16:14 عصر
سلام دوستان
من واسه تعیین زمان روزهای هفته به مشکل بر خوردم . مثلا می خوام توی یه جدول روزهای این هفته رو نشون بدم و می خوام این کار رو از روی زمان امروز (نمی دونم مثلا امروز چن شنبه ست ) انجام بدم .
من این کارو کردم
اول با یه حلقه ی سویچ اومدم روز هفته رو از روی تابع jdate پیدا کردم و بعد هم با یه سویچ دیگه تاریخ هر روز رو پیدا کردم .


switch(jdate('D'))
{ case 'ش': $getday=0; break; case 'ی': $getday=1; break; case 'د': $getday=2; break; case 'س': $getday=3; break; case 'چ': $getday=4; break; case 'پ': $getday=5; break; case 'ج': $getday=6; break;}switch($getday){ case '0': $shnabe=jdate('Y/m/d',strtotime('+0 day')); $yekshnabe=jdate('Y/m/d',strtotime('+1 day')); $doshnabe=jdate('Y/m/d',strtotime('+2 day')); $seshnabe=jdate('Y/m/d',strtotime('+3 day')); $charshnabe=jdate('Y/m/d',strtotime('+4 day')); . . . break; case "1": $shnabe=jdate('Y/m/d',strtotime('-1 day')); $yekshnabe=jdate('Y/m/d',strtotime('0 day')); $doshnabe=jdate('Y/m/d',strtotime('1 day')); $seshnabe=jdate('Y/m/d',strtotime('+2 day')); $charshnabe=jdate('Y/m/d',strtotime('+3 day')); . . . .



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

leaping
سه شنبه 06 اسفند 1392, 19:59 عصر
یعنی اینکه میخوای توی این جدول زمان هفته رو مثل pagination نشون بدی؟
مثلا اگه امروز دو شنبه هست... دوشنبه بیوفته وسط و شنبه و یک شنبه و سه شنبه و چهار شنبه اطرافش باشن؟ راست و چپ؟ یا چحوری؟ دقیق تر توضیح بده

masiha68
سه شنبه 06 اسفند 1392, 20:11 عصر
نه پیجینگ نه



<?php$visit=new visit();$_SESSION['timenow']=jdate('Y/m/s');$visit->do_show('visit',array('date'=>jdate('Y/m/d')));switch(jdate('D'))
{ case 'ش': $getday=0; break; case 'ی': $getday=1; break; case 'د': $getday=2; break; case 'س': $getday=3; break; case 'چ': $getday=4; break; case 'پ': $getday=5; break; case 'ج': $getday=6; break;}switch($getday){ case '0': $shnabe=jdate('Y/m/d',strtotime('+0 day')); $yekshnabe=jdate('Y/m/d',strtotime('+1 day')); $doshnabe=jdate('Y/m/d',strtotime('+2 day')); $seshnabe=jdate('Y/m/d',strtotime('+3 day')); $charshnabe=jdate('Y/m/d',strtotime('+4 day')); $panjshnabe=jdate('Y/m/d',strtotime('+5 day')); $jome=jdate('Y/m/d',strtotime('+6 day'));
break; case "1": $shnabe=jdate('Y/m/d',strtotime('-1 day')); $yekshnabe=jdate('Y/m/d',strtotime('0 day')); $doshnabe=jdate('Y/m/d',strtotime('+1 day')); $seshnabe=jdate('Y/m/d',strtotime('+2 day')); $charshnabe=jdate('Y/m/d',strtotime('+3 day')); $panjshnabe=jdate('Y/m/d',strtotime('+4 day')); $jome=jdate('Y/m/d',strtotime('+5 day')); break; case '2': $shnabe=jdate('Y/m/d',strtotime('-2 day')); $yekshnabe=jdate('Y/m/d',strtotime('-1 day')); $doshnabe=jdate('Y/m/d',strtotime('+0 day')); $seshnabe=jdate('Y/m/d',strtotime('+1 day')); $charshnabe=jdate('Y/m/d',strtotime('+2 day')); $panjshnabe=jdate('Y/m/d',strtotime('+3 day')); $jome=jdate('Y/m/d',strtotime('+4 day')); break; case '3': $shnabe=jdate('Y/m/d',strtotime('-3 day')); $yekshnabe=jdate('Y/m/d',strtotime('-2 day')); $doshnabe=jdate('Y/m/d',strtotime('-1 day')); $seshnabe=jdate('Y/m/d',strtotime('0 day')); $charshnabe=jdate('Y/m/d',strtotime('+1 day')); $panjshnabe=jdate('Y/m/d',strtotime('+2 day')); $jome=jdate('Y/m/d',strtotime('+3 day')); break; case '4': $shnabe=jdate('Y/m/d',strtotime('-4 day')); $yekshnabe=jdate('Y/m/d',strtotime('-3 day')); $doshnabe=jdate('Y/m/d',strtotime('-2 day')); $seshnabe=jdate('Y/m/d',strtotime('-1 day')); $charshnabe=jdate('Y/m/d',strtotime('0 day')); $panjshnabe=jdate('Y/m/d',strtotime('+1 day')); $jome=jdate('Y/m/d',strtotime('+2 day')); break; case '5': $shnabe=jdate('Y/m/d',strtotime('-5 day')); $yekshnabe=jdate('Y/m/d',strtotime('-4 day')); $doshnabe=jdate('Y/m/d',strtotime('-3 day')); $seshnabe=jdate('Y/m/d',strtotime('-2 day')); $charshnabe=jdate('Y/m/d',strtotime('-1 day')); $panjshnabe=jdate('Y/m/d',strtotime('0 day')); $jome=jdate('Y/m/d',strtotime('+1 day')); break; case '6': $shnabe=jdate('Y/m/d',strtotime('-6 day')); $yekshnabe=jdate('Y/m/d',strtotime('-5 day')); $doshnabe=jdate('Y/m/d',strtotime('-4 day')); $seshnabe=jdate('Y/m/d',strtotime('-3 day')); $charshnabe=jdate('Y/m/d',strtotime('-2 day')); $panjshnabe=jdate('Y/m/d',strtotime('-1 day')); $jome=jdate('Y/m/d',strtotime('0 day')); break;
}
?><table style="width: 500px"> <tr> <td>Day</td> <td>Add new time</td> <td>time accepted</td> <td>edit/remove</td> </tr> <tr> <td>shnabe</td> <td><a href="#"onClick="window.open('add_visit_popup.php?day=0','popupwind ow','status=yes,scrollbal=yes,width=500,height=350 '); return false;">add new time</a></td> <td><?php $visit->do_show('visit',array('date'=>$shnabe,'day'=>0)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr> <tr> <td>yek shanbe</td> <td></td> <td><?php $visit->do_show('visit',array('date'=>$yekshnabe,'day'=>1)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr> <tr> <td>do shanbe</td> <td></td> <td><?php $visit->do_show('visit',array('date'=>$doshnabe,'day'=>2)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr> <tr> <td>se shanbe</td> <td></td> <td><?php $visit->do_show('visit',array('date'=>$seshnabe,'day'=>3)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr> <tr> <td>char shnbe</td> <td></td> <td><?php $visit->do_show('visit',array('date'=>$charshnabe,'day'=>4)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr> <tr> <td>5 shanbe</td> <td></td> <td><?php $visit->do_show('visit',array('date'=>$panjshnabe,'day'=>5)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr> <tr> <td>jome</td> <td></td> <td><?php $visit->do_show('visit',array('date'=>$jome,'day'=>6)); foreach($visit->result as $row){echo $row['time']."(".$row['numvisit'].")";} ?></td> <td></td> </tr></table>

masiha68
سه شنبه 06 اسفند 1392, 21:52 عصر
ای بابا ... نمی دونم چرا کدها رو اینجوری بهم میر یزه !!!!
ببنین دوستان
من کدی میخوام که روزهای هفته رو تعیین کنه
مثلا من امروز (سه شنبه 6/12/92 ) وارد اون پیج میشم . و اون کد باید تعیین که که امروز سه شنبه ست و اینکه مثلا روز شنبه تاریخ چندمه (من اینجوری حساب کردم که تاریخ امروز رو می گیرم و سه روز ازش کم می کنم تا تاریخ روز شنبه بدست بیاد ) . به نظرتون راه منطقی این کار چیه ؟؟؟

tux-world
سه شنبه 06 اسفند 1392, 22:46 عصر
خوب تو تاریخ ما این رو داریم:


$days = date( "w", $timestamp);



حالا اگه صفر برگردونه شروع اون هفته میشه sunday . یا این لینک میتونه کمکت کنه http://3v4l.org/HqSEv

leaping
چهارشنبه 07 اسفند 1392, 11:34 صبح
ای بابا ... نمی دونم چرا کدها رو اینجوری بهم میر یزه !!!!
ببنین دوستان
من کدی میخوام که روزهای هفته رو تعیین کنه
مثلا من امروز (سه شنبه 6/12/92 ) وارد اون پیج میشم . و اون کد باید تعیین که که امروز سه شنبه ست و اینکه مثلا روز شنبه تاریخ چندمه (من اینجوری حساب کردم که تاریخ امروز رو می گیرم و سه روز ازش کم می کنم تا تاریخ روز شنبه بدست بیاد ) . به نظرتون راه منطقی این کار چیه ؟؟؟
کارت منطقیه ... اصولا هر کاری که پاسخ مطلوبت رو توی خروجی چاپ کنه و باگ امنیتی نداشته باشه کاملا منطقیه ... برنامه نویسی فقط یک راه نداره که فقط بخوای از یک راه به یک نتیجه برسی برای رسیدن به یک نتیجه مشابه گاهی راههای بی شماری وجود داره :)

masiha68
چهارشنبه 07 اسفند 1392, 11:37 صبح
دنبال راه منظقی تر و بهتری هستم . کاری که انجام دادم مشکلی نداره و الانم سیستم رو بر اساس همین کدها گذاشتم ولی خب فک کنم باید راه بهتری هم وجود داشته باشه