PDA

View Full Version : سوال: مشکل در اجرای یک شرط زمان بندی



mahdik
سه شنبه 30 شهریور 1389, 16:13 عصر
سلام و ممنون از شما

دوستان عزیز متاسفانه یه مشکلی در اجرای یک شرط دارم ممنون میشک کمکی کنید .

کد قراره که اینجوری باشه
زمان حال رو با ساعت تعین شده مقایسه کنه مثلا اگه ساعت حال در ساعت 12 شب الی 7 صبح بودپرینت بده شب و از 7:1 صبح الی 11:59 شب ، پرینت روز رو بده

امیدوارم توضیح واضح باشه

شرمنده این ایراد بزرگی که در کد زیر هست رو نمیگیرم

ممنون میشم که توضیح کاملی در موردش بدین




$timenow = "". date("Hi")."";
$timenight = "0001";
$timeday = "0700";

if($timenow > $timenight){

echo "Night";

}elseif ($timenow < $timeday) {

echo "Day";
}

ممنون از کمکی که میکنید.

rapidpich
سه شنبه 30 شهریور 1389, 16:50 عصر
فقط H رو چک کن
i رو دیگه لازم نیست چک کنی

mahdik
سه شنبه 30 شهریور 1389, 17:17 عصر
سلام
دوست عزیز ممنون ولی مشکل چیز دیگس
مشکل اینه که همه ساعت ها رو میزنده شب :ناراحت:
نمیدونم ولی یه چی این وسط کمه :متفکر:

sama01
سه شنبه 30 شهریور 1389, 19:23 عصر
1.
به نظرم اشکال در اینه که ساعتی که به شما می‌دهد، با ساعتی که شما در دنیای واقعی استفاده می‌کنید، مطابق نیست.
شما timenow را چاپ کنید ببینید آیا همان ساعتی است که در خانه می‌بینید یا نه.
اگر نیست، اگر در ایران هستید، این کد را در ابتدای کد وارد کنید تا ساعت را به وقت ایران بدهد.

date_default_timezone_set('Asia/Tehran');
2.
شما نیازی به دقیقه ندارید. ساعت کافی است.

3.
کد شما یک ایراد بزرگ داره: شما چرا مساوی بودن زمان را چک نمی‌کنید؟ البته اشکال فعلی ربطی به این ایراد نداره. ولی برنامه‌ی شما این ایراد را دارد.

funpatogh
سه شنبه 30 شهریور 1389, 21:42 عصر
<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if($time>=7){

echo "Day";

}else{
echo "Night";

}

?>

mahdik
سه شنبه 30 شهریور 1389, 23:23 عصر
1.
به نظرم اشکال در اینه که ساعتی که به شما می‌دهد، با ساعتی که شما در دنیای واقعی استفاده می‌کنید، مطابق نیست.
شما timenow را چاپ کنید ببینید آیا همان ساعتی است که در خانه می‌بینید یا نه.
اگر نیست، اگر در ایران هستید، این کد را در ابتدای کد وارد کنید تا ساعت را به وقت ایران بدهد.

date_default_timezone_set('Asia/Tehran');
2.
شما نیازی به دقیقه ندارید. ساعت کافی است.

3.
کد شما یک ایراد بزرگ داره: شما چرا مساوی بودن زمان را چک نمی‌کنید؟ البته اشکال فعلی ربطی به این ایراد نداره. ولی برنامه‌ی شما این ایراد را دارد.

سلام و ممنون
درمورد زمان نه موردی نداره و دقیقا همونی که میخوام هست





<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if($time>=7){

echo "Day";

}else{
echo "Night";

}

?>


سلام و ممنون از شما
کد شما هم دقیقا مثل کد من محاسبه میکنه
یعنی وقتی زمان مساوی 7 و یا کمتر بود روز بزنه ولی من میخوام اگه از ساعت 12 شب تا 7 صبخ بود بزنه شب و در غیر این صورت بزنه روز

مشکل اصلی اینجاس که نمیدونم چجور بفهمونم که از 12 تا 7 رو جدا کنه و مابقی هم جدا


واقعا ممنونم از کمکی که میکنید

funpatogh
سه شنبه 30 شهریور 1389, 23:33 عصر
یعنی می خوای که 7 شد بزنه روز و خود 7 رو نزنه شب؟

sama01
سه شنبه 30 شهریور 1389, 23:37 عصر
من این رو تست می‌کنم و درست جواب می‌ده.
date_default_timezone_set('Asia/Tehran');
$timenow = date("H");
if($timenow < 7)
echo "Night";
else
echo "Day";
اگر باز هم جواب نداد، این را جایگزین کنید تا در مقایسه، دو عدد را با هم مقایسه کنید:
$timenow = intval(date("H"));

shahriyar3
سه شنبه 30 شهریور 1389, 23:38 عصر
<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if(19>=$time>=7){

echo "Day";

}else{
echo "Night";

}

?>


با اين به نظرم حل ميشه

mahdik
سه شنبه 30 شهریور 1389, 23:39 عصر
اون مساوی هم که گفتین درسته ولی در اصل من میخوام اگه ساعت بین 12 تا 7 بود بزنه شب و از 7 تا قبل 12 بزنه روز

در کل من میخوام زمان رو به دو قسمت تقسیم کنم از 12شب تا 7صبح و از ص7صبح تا 12شب

funpatogh
سه شنبه 30 شهریور 1389, 23:41 عصر
فکر کنم با این به جواب میرسی خود 7 هم که بشه روز حساب میشه


<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if($time>6){

echo "Day";

}else{
echo "Night";

}

?>

mahdik
سه شنبه 30 شهریور 1389, 23:49 عصر
<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if(19>=$time>=7){

echo "Day";

}else{
echo "Night";

}

?>
با اين به نظرم حل ميشه

سلام و ممنون
به شرط تو شرط :لبخندساده: ضاهر کد اون چیزی هست که میخوام ولی شرط اررور میده
--------------------



<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if(19>=$time>=7){

echo "Day";

}else{
echo "Night";

}

?>
با اين به نظرم حل ميشه


فکر کنم با این به جواب میرسی خود 7 هم که بشه روز حساب میشه


<?php
date_default_timezone_set('Asia/Tehran');
$time=date("H");
echo $time."<br>";
if($time>6){

echo "Day";

}else{
echo "Night";

}

?>


حاجی دمت گرم ولی مشکل اصلی چیز دیگه ایه
پست shahriyar3 عزیز رو یه نگاه بندازید
این اون چیزیه که میخوام ولی به شرط ایراد میگیره

sama01
سه شنبه 30 شهریور 1389, 23:53 عصر
در کل من میخوام زمان رو به دو قسمت تقسیم کنم از 12شب تا 7صبح و از ص7صبح تا 12شب

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

shahriyar3
سه شنبه 30 شهریور 1389, 23:56 عصر
دوست عزيز من تست كردم الان اين تكه كد و هيچ اروري در كار نيست
بفيه خط ها رو چك كن

funpatogh
چهارشنبه 31 شهریور 1389, 00:08 صبح
شهریار کدت پارس ارور میده

mahdik
چهارشنبه 31 شهریور 1389, 00:09 صبح
بله من دیاره تست کردم اررور میده

shahriyar3
چهارشنبه 31 شهریور 1389, 00:29 صبح
درست شد :لبخند:



<?php

/**
* @author shahriyar
* @copyright 2010
*/


date_default_timezone_set('Asia/Tehran');
$time = date("H");
echo $time . "<br>";
if (19 >= $time && $time >= 7) {

echo "Day";

} else {
echo "Night";

}



?>

mahdik
چهارشنبه 31 شهریور 1389, 00:37 صبح
دوست عزیز واقعا ممنونم ازتون همه چی درسته میرم واسه تست :خجالت:

mohmadd
چهارشنبه 31 شهریور 1389, 02:32 صبح
در کد funpatogh از ساعت 12 شب تا ساعت 7 صبح (شب) نشان میده و 7 صبح تا 12 شب (روز)
در کد shahriyar3 از ساعت 7 صبح تا 7 شب (روز) و از 7 شب تا 7 صبح (شب)

sama01
چهارشنبه 31 شهریور 1389, 11:02 صبح
در کد funpatogh از ساعت 12 شب تا ساعت 7 صبح (شب) نشان میده و 7 صبح تا 12 شب (روز)
در کد shahriyar3 از ساعت 7 صبح تا 7 شب (روز) و از 7 شب تا 7 صبح (شب)
شما درست می‌گی.
ولی درخواست سوال کننده این بود:

در کل من میخوام زمان رو به دو قسمت تقسیم کنم از 12شب تا 7صبح و از ص7صبح تا 12شب
حالا مشکل از سواد برنامه نویسی دوستان است یا ناتوانی در درست پرسیدن سوال؟
من در یک پست هم تاکید کردم که اگر با آن کدها مشکل رفع نشد، سوال اشکال دارد.
:متفکر:

funpatogh
چهارشنبه 31 شهریور 1389, 22:08 عصر
ما با توجه به سوالی که کردند کد زدیم اما متاسفانه مشکل از سوال ایشان بود نه جواب ما

shahriyar3
چهارشنبه 31 شهریور 1389, 22:20 عصر
اول تاپيك يه سوال مطرح شد بعد در ادامه مسير تاپيك به اين طرف هدايت شد و از بس بحث 7 مطرح شد ما تمام زمان و بر اساس 7 بررسي كرديم

مشكل از سواد خوانندگان پست هاي ما است .. .

sama01
چهارشنبه 31 شهریور 1389, 23:49 عصر
مشكل از سواد خوانندگان پست هاي ما است .. .
مزاح فرمودید دیگه؟:متفکر: