Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > รบกวนแก้ไข โค้ดคำนวนระยะห่างของวัน ให้ด้วยครับ เกิด Error



 

รบกวนแก้ไข โค้ดคำนวนระยะห่างของวัน ให้ด้วยครับ เกิด Error

 



Topic : 052083



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์




สวัสดีครับ ผมเป็นคนหนึ่งที่สนใจการเขียนโปรแกรมด้วย PHP แต่ไม่ค่อยมีความรู้ ได้เข้ามาดู บทความและกระทู้ ในเว็บนี้มานานพอสมควร
วันนี้ผมมีเรื่องจะมาปรึกษา ท่านผู้รู้เกี่ยวกับโค้ด หาระยะห่างของวันที่
หาผมตั้งกระทู้ไม่ถูกต้องประการใด ขอประทานอภัยมา ณ ที่นี้ด้วยครับ ขอบคุณครับ

รบกวนดูโค้ดนี้ด้วยครับ คือผมจะทำการคำนวณระยะห่างของวันที่ ซึ่งได้โค้ดนี้มาจาก
http://www.softwaresiam.com/viewthread.php?tid=335&extra=page%3D1

ซึ่งมีโค้ดังนี้
<?php

####### รูปแบบของวันที่ ที่อาจจะเก็บลงในฐานข้อมูลแบบนี้ ######
$start_date=?17/03/2007?; // วันที่เริ่มใช้บริการ
$expire_date=?17/03/2008?;//วันสิ้นสุดการใช้บริการ
$today_date=date(?d/m/Y ?);//วันที่ของวันนี้

## ฟังก์ชั่น explode ใช้แยกเครื่องหมาย ( / ) ออกจากข้อความ แล้วเอาข้อความที่ได้ไปแยกเก็บลงใน array ##
/* วันที่เริ่มใช้บริการ */
$start_explode = explode(?/?, $start_date);
$start_day = $start_explode[0];
$start_month = $start_explode[1];
$start_year = $start_explode[2];

/*วันสิ้นสุดการใช้บริการ*/
$expire_explode = explode(?/?, $expire_date);
$expire_day = $expire_explode[0];
$expire_month = $expire_explode[1];
$expire_year = $expire_explode[2];

/*วันที่ของวันนี้*/
$today_explode = explode(?/?, $today_date);
$today_day = $today_explode[0];
$today_month = $today_explode[1];
$today_year = $today_explode[2];

/* ฟังก์ชั่น gregoriantojd เป็นฟังก์ชั่นที่เอาไว้แปลงวันที่ เพื่อใช้คำนวณหาจำนวนวัน
รูปแบบการใช้งาน gregoriantojd ( int $month, int $day, int $year )
โฮสที่ใช้ต้องทำการเปิด extension calendar ของ php ด้วย ถึงจะใช้งานได้*/

$start = gregoriantojd($start_month,$start_day,$start_year);
$expire = gregoriantojd($expire_month,$expire_day,$expire_year);
$today = gregoriantojd($today_month,$today_day,$today_year);

$period_of_time = $expire-$start; //หาระยะเวลาการใช้งาน
$date_current=$expire-$today;//หาวันที่เหลืออยู่

echo ?เริ่มใช้บริการวันที่ :?,$start_date,?<br>?;
echo ?สิ้นสุดวันใช้บริการวันที่ :?,$expire_date,?<br>?;
echo ?ระยะเวลาการใช้งาน : ?,$period_of_time ,? วัน<br>? ;

echo ?<b>วันนี้</b> ?.วันที่ $today_date ขณะนี้จึงเหลือเวลาอีก :?,$date_current,? วัน จึงจะถึงวันที่ $expire_date ซึ่งเป็นวันหมดอายุการใช้งาน<br>?;

?>

ผลลัพธ์จะออกมาเช่นนี้

เริ่มใช้บริการวันที่ :17/03/2007
สิ้นสุดวันใช้บริการวันที่ :17/03/2008
ระยะเวลาการใช้งาน : 366 วัน
วันนี้ ?.วันที่ 18/03/2007 ขณะนี้จึงเหลือเวลาอีก :365 วัน จึงจะถึงวันที่ 17/03/2008 ซึ่งเป็นวันหมดอายุการใช้งาน

ลองเอาไปประยุกต์ใส่เงื่อนไขกันดูครับ
เช่น เช็คค่าถ้าเหลือ 15 วัน ส่งเมลล์แจ้งเตือนอัติโนมัติให้ลูกค้ามาต่ออายุ อะไรทำนองนี้อ่ะครับ

วิธีการนำโค้ดข้างต้นไปใช้สำหรับโฮสที่ไม่ได้ลง extension calendar ของ php
พอดีผมทำให้ลูกค้าเค้าจะเอาไปใช้ที่โฮสเค้า
พอไปลงโปรแกรมปรากฎว่าโปรแกรมรันไม่ได้ครับ
เพราะว่าโฮสที่เค้าเช่าไม่ได้ลง extension calendar ของ php
ก็เลยไป Search หาวิธีมา เจอว่า ถ้าไม่ได้ลง ก็ไม่เป็นไร
ไม่ต้องไปบอกให้เจ้าของ Server เค้าลงให้ หรือว่าเปิดให้ใช้งาน

เพียงเอาฟังก์ชั่นด้านล่างนี้ใส่ แล้ว include ไปใช้งาน ก็ใช้งานได้ล่ะครับ
<?php

function GregorianToJD ($month,$day,$year) {

if ($month > 2) {

$month = $month - 3;

} else {

$month = $month + 9;
$year = $year - 1;

}

$c = floor($year / 100);
$ya = $year - (100 * $c);
$j = floor((146097 * $c) / 4);
$j += floor((1461 * $ya)/4);
$j += floor(((153 * $month) + 2) / 5);
$j += $day + 1721119;
return $j;

}


ตอนใช้งานครั้งแรก มีปัญหา ในเรื่องของ syntax error, unexpected '?' ผมจึงได้ทำการลบ เครื่องหมาย ? ออก โค้ดในส่วนแรกจึงใช้ได้ แต่สุดท้ายก็มีปัญหา ในส่วนของ function GregorianToJD ซึ่งมีการแจ้ง ว่า
Fatal error: Cannot redeclare gregoriantojd() in C:\AppServ\www\date1.php on line 24 ณ บรรทัดที่ 24 นี้จะเป็นคำสั่ง Return
รบกวนผู้รู้ช่วยผมด้วยนะครับ
**ปล. โค้ดส่วนแรกที่ผมใช้ได้ include function GregorianToJD เข้าไปแล้วครับ แต่โค้ดที่แสดงอยู่นี้ เอามาจากเว็บที่ผมเจอ




Tag : PHP, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-23 09:23:06 By : l3ank View : 3019 Reply : 20
 

 

No. 1



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

นี่เอาโค๊ดไปแปลงในโปรแกรม และหรือ ก๊อปเขามาเนี่ย มันผิด syntax แบบไม่น่าให้อภัยครับ(แก้ให้แล้วนะครับลองเอาไปรันดูครับ)
<?php

####### รูปแบบของวันที่ ที่อาจจะเก็บลงในฐานข้อมูลแบบนี้ ######
$start_date=17/03/2007; // วันที่เริ่มใช้บริการ
$expire_date=17/03/2008;//วันสิ้นสุดการใช้บริการ
$today_date=date(d/m/Y );//วันที่ของวันนี้

## ฟังก์ชั่น explode ใช้แยกเครื่องหมาย ( / ) ออกจากข้อความ แล้วเอาข้อความที่ได้ไปแยกเก็บลงใน array ##
/* วันที่เริ่มใช้บริการ */
$start_explode = explode('/', $start_date);
$start_day = $start_explode[0];
$start_month = $start_explode[1];
$start_year = $start_explode[2];

/*วันสิ้นสุดการใช้บริการ*/
$expire_explode = explode('/', $expire_date);
$expire_day = $expire_explode[0];
$expire_month = $expire_explode[1];
$expire_year = $expire_explode[2];

/*วันที่ของวันนี้*/
$today_explode = explode('/', $today_date);
$today_day = $today_explode[0];
$today_month = $today_explode[1];
$today_year = $today_explode[2];

/* ฟังก์ชั่น gregoriantojd เป็นฟังก์ชั่นที่เอาไว้แปลงวันที่ เพื่อใช้คำนวณหาจำนวนวัน
รูปแบบการใช้งาน gregoriantojd ( int $month, int $day, int $year )
โฮสที่ใช้ต้องทำการเปิด extension calendar ของ php ด้วย ถึงจะใช้งานได้*/

$start = gregoriantojd($start_month,$start_day,$start_year);
$expire = gregoriantojd($expire_month,$expire_day,$expire_year);
$today = gregoriantojd($today_month,$today_day,$today_year);

$period_of_time = $expire-$start; //หาระยะเวลาการใช้งาน
$date_current=$expire-$today;//หาวันที่เหลืออยู่

echo "เริ่มใช้บริการวันที่ :"; $start_date; echo"<br>";
echo "สิ้นสุดวันใช้บริการวันที่ :"; $expire_date; echo"<br>";
echo "ระยะเวลาการใช้งาน : ";$period_of_time; echo" วัน<br>";

echo "<b>วันนี้</b> วันที่"; $today_date; echo"ขณะนี้จึงเหลือเวลาอีก :"; $date_current; echo" วัน จึงจะถึงวันที่ "; $expire_date; echo"ซึ่งเป็นวันหมดอายุการใช้งาน<br>";

?>

ผลลัพธ์จะออกมาเช่นนี้

เริ่มใช้บริการวันที่ :17/03/2007
สิ้นสุดวันใช้บริการวันที่ :17/03/2008
ระยะเวลาการใช้งาน : 366 วัน
วันนี้ ?.วันที่ 18/03/2007 ขณะนี้จึงเหลือเวลาอีก :365 วัน จึงจะถึงวันที่ 17/03/2008 ซึ่งเป็นวันหมดอายุการใช้งาน

ลองเอาไปประยุกต์ใส่เงื่อนไขกันดูครับ
เช่น เช็คค่าถ้าเหลือ 15 วัน ส่งเมลล์แจ้งเตือนอัติโนมัติให้ลูกค้ามาต่ออายุ อะไรทำนองนี้อ่ะครับ

วิธีการนำโค้ดข้างต้นไปใช้สำหรับโฮสที่ไม่ได้ลง extension calendar ของ php
พอดีผมทำให้ลูกค้าเค้าจะเอาไปใช้ที่โฮสเค้า
พอไปลงโปรแกรมปรากฎว่าโปรแกรมรันไม่ได้ครับ
เพราะว่าโฮสที่เค้าเช่าไม่ได้ลง extension calendar ของ php
ก็เลยไป Search หาวิธีมา เจอว่า ถ้าไม่ได้ลง ก็ไม่เป็นไร
ไม่ต้องไปบอกให้เจ้าของ Server เค้าลงให้ หรือว่าเปิดให้ใช้งาน

เพียงเอาฟังก์ชั่นด้านล่างนี้ใส่ แล้ว include ไปใช้งาน ก็ใช้งานได้ล่ะครับ
<?php

function GregorianToJD ($month,$day,$year) {

if ($month > 2) {

$month = $month - 3;

} else {

$month = $month + 9;
$year = $year - 1;

}

$c = floor($year / 100);
$ya = $year - (100 * $c);
$j = floor((146097 * $c) / 4);
$j += floor((1461 * $ya)/4);
$j += floor(((153 * $month) + 2) / 5);
$j += $day + 1721119;
return $j;

}
?>









ประวัติการแก้ไข
2010-11-23 09:50:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 09:49:15 By : Dragons_first
 


 

No. 2



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ ที่ช่วยแก้ไขให้ แต่ก็ยังมีข้อผิดพลาดอยู่ดีครับเมื่อรันจะฟ้องว่า

Warning: Division by zero in C:\AppServ\www\date.php on line 7

Warning: Division by zero in C:\AppServ\www\date.php on line 7

Warning: gregoriantojd() expects parameter 2 to be long, string given in C:\AppServ\www\date.php on line 39

**โค้ดส่วนแรก ผมตั้งชื่อว่า date.php ส่วนที่เป็น function ตั้งว่า date1.php**

หากผม include หน้า date1.php จะฟ้องว่า
Fatal error: Cannot redeclare gregoriantojd() in C:\AppServ\www\date1.php on line 32

ผมควรทำยังไงดีครับ ไปไม่เป็นจริง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 10:02:34 By : l3ank
 

 

No. 3



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

ลองดูแบบนี้นะครับ
**************************************************************
<?php
function GregorianToJD ($month,$day,$year) {
if ($month > 2) {
$month = $month - 3;
} else {
$month = $month + 9;
$year = $year - 1;
}
$c = floor($year / 100);
$ya = $year - (100 * $c);
$j = floor((146097 * $c) / 4);
$j += floor((1461 * $ya)/4);
$j += floor(((153 * $month) + 2) / 5);
$j += $day + 1721119;
return $j;
}
*******************************************************
include('date1.php');//เรียกใช้งานฟังก์ชั่น
$Gregorian = GregorianToJD ($month,$day,$year);///วิธีการใช้งานในโปรแกรม
echo "$Gregorian";//ใส่ไว้ในตำแหน่งที่ต้องการหรือไม่ต้องลงโค๊ดนี้ถ้าหากว่าฟังก์ชั่นทำงานแล้ว
####### รูปแบบของวันที่ ที่อาจจะเก็บลงในฐานข้อมูลแบบนี้ ######
$start_date=17/03/2007; // วันที่เริ่มใช้บริการ
$expire_date=17/03/2008;//วันสิ้นสุดการใช้บริการ
$today_date=date(d/m/Y );//วันที่ของวันนี้
## ฟังก์ชั่น explode ใช้แยกเครื่องหมาย ( / ) ออกจากข้อความ แล้วเอาข้อความที่ได้ไปแยกเก็บลงใน array ##
/* วันที่เริ่มใช้บริการ */
$start_explode = explode('/', $start_date);
$start_day = $start_explode[0];
$start_month = $start_explode[1];
$start_year = $start_explode[2];
/*วันสิ้นสุดการใช้บริการ*/
$expire_explode = explode('/', $expire_date);
$expire_day = $expire_explode[0];
$expire_month = $expire_explode[1];
$expire_year = $expire_explode[2];
/*วันที่ของวันนี้*/
$today_explode = explode('/', $today_date);
$today_day = $today_explode[0];
$today_month = $today_explode[1];
$today_year = $today_explode[2];
/* ฟังก์ชั่น gregoriantojd เป็นฟังก์ชั่นที่เอาไว้แปลงวันที่ เพื่อใช้คำนวณหาจำนวนวัน
รูปแบบการใช้งาน gregoriantojd ( int $month, int $day, int $year )
โฮสที่ใช้ต้องทำการเปิด extension calendar ของ php ด้วย ถึงจะใช้งานได้*/
$start = gregoriantojd($start_month,$start_day,$start_year);
$expire = gregoriantojd($expire_month,$expire_day,$expire_year);
$today = gregoriantojd($today_month,$today_day,$today_year);
$period_of_time = $expire-$start; //หาระยะเวลาการใช้งาน
$date_current=$expire-$today;//หาวันที่เหลืออยู่
echo "เริ่มใช้บริการวันที่ :"; $start_date; echo"<br>";
echo "สิ้นสุดวันใช้บริการวันที่ :"; $expire_date; echo"<br>";
echo "ระยะเวลาการใช้งาน : ";$period_of_time; echo" วัน<br>";
echo "<b>วันนี้</b> วันที่"; $today_date; echo"ขณะนี้จึงเหลือเวลาอีก :"; $date_current; echo" วัน จึงจะถึงวันที่ "; $expire_date; echo"ซึ่งเป็นวันหมดอายุการใช้งาน<br>";
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 10:20:26 By : Dragons_first
 


 

No. 4

Guest


ขอบคุณนะครับที่ช่วยเหลือ ไม่ทราบว่าคุณอ้นคุง ได้ลองรันดูรึเปล่าครับ
เพราะทางผมนำโค้ดไปรันแล้วยังเจอปัญหาอยู่ครับ เลยไม่แน่ใจว่าเป็น ที่เครื่องผมรึเปล่า
จากโค้ดที่คุณช่วยแก้ไขล่าสุดครับ ฟ้องว่า
Fatal error: Cannot redeclare gregoriantojd() in C:\AppServ\www\date1.php on line 16
ซึ่งเริ่มต้นจากตรงนี้ $expire_explode = explode('/', $expire_date); บรรทัดนี้ครับที่ฟ้องขึ้นมา

แล้วเมื่อผมเอาคำสั่ง include ออก จะฟ้องว่า

Warning: Division by zero in C:\AppServ\www\date.php on line 8

Warning: Division by zero in C:\AppServ\www\date.php on line 8

Warning: gregoriantojd() expects parameter 2 to be long, string given in C:\AppServ\www\date.php on line 30
เริ่มใช้บริการวันที่ :
สิ้นสุดวันใช้บริการวันที่ :
ระยะเวลาการใช้งาน : วัน
วันนี้ วันที่ขณะนี้จึงเหลือเวลาอีก : วัน จึงจะถึงวันที่ ซึ่งเป็นวันหมดอายุการใช้งาน

ขอบคุณมากนะครับที่ให้ความช่วยเหลือ ผมจะพยายามศึกษาไปด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 10:32:43 By : l3ank
 


 

No. 5

Guest


พวก wordpress มันแปลง " น่ะ
23.$start_date=17/03/2007; // วันที่เริ่มใช้บริการ
24.$expire_date=17/03/2008;//วันสิ้นสุดการใช้บริการ
25.$today_date=date(d/m/Y );//วันที่ของวันนี้
ตรงนี้ก็อภัยให้ได้ อิๆ เอาวันมาหารเดือนเดือนมาหารปี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 10:42:52 By : :)
 


 

No. 6



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

คือผมไม่ได้รันดูนะครับ ยังไงก็ขออภัยด้วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 11:00:53 By : Dragons_first
 


 

No. 7



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

ลองดูแบบนี้นะครับว่ารันได้ไหม
<?php
include('date1.php');
####### รูปแบบของวันที่ ที่อาจจะเก็บลงในฐานข้อมูลแบบนี้ ######
$start_date=17/03/2007; // วันที่เริ่มใช้บริการ
$expire_date=17/03/2008;//วันสิ้นสุดการใช้บริการ
$today_date='date(d/m/Y )';//วันที่ของวันนี้
## ฟังก์ชั่น explode ใช้แยกเครื่องหมาย ( / ) ออกจากข้อความ แล้วเอาข้อความที่ได้ไปแยกเก็บลงใน array ##
/* วันที่เริ่มใช้บริการ */
$start_explode = explode('/', $start_date);
$start_day = $start_explode[0];
$start_month = $start_explode[1];
$start_year = $start_explode[2];
/*วันสิ้นสุดการใช้บริการ*/
$expire_explode = explode('/', $expire_date);
$expire_day = $expire_explode[0];
$expire_month = $expire_explode[1];
$expire_year = $expire_explode[2];
/*วันที่ของวันนี้*/
$today_explode = explode('/', $today_date);
$today_day = $today_explode[0];
$today_month = $today_explode[1];
$today_year = $today_explode[2];
/* ฟังก์ชั่น gregoriantojd เป็นฟังก์ชั่นที่เอาไว้แปลงวันที่ เพื่อใช้คำนวณหาจำนวนวัน
รูปแบบการใช้งาน gregoriantojd ( int $month, int $day, int $year )
โฮสที่ใช้ต้องทำการเปิด extension calendar ของ php ด้วย ถึงจะใช้งานได้*/
$start = gregoriantojd($start_month,$start_day,$start_year);
$expire = gregoriantojd($expire_month,$expire_day,$expire_year);
$today = 'gregoriantojd($today_month,$today_day,$today_year)';
$period_of_time = $expire-$start; //หาระยะเวลาการใช้งาน
$date_current=$expire-$today;//หาวันที่เหลืออยู่
echo "เริ่มใช้บริการวันที่ :"; $start_date; echo"<br>";
echo "สิ้นสุดวันใช้บริการวันที่ :"; $expire_date; echo"<br>";
echo "ระยะเวลาการใช้งาน : ";$period_of_time; echo" วัน<br>";
echo "<b>วันนี้</b> วันที่"; $today_date; echo"ขณะนี้จึงเหลือเวลาอีก :"; $date_current; echo" วัน จึงจะถึงวันที่ "; $expire_date; echo"ซึ่งเป็นวันหมดอายุการใช้งาน<br>";
?>



ประวัติการแก้ไข
2010-11-23 11:17:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 11:16:57 By : Dragons_first
 


 

No. 8



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

แนะนำ เอาอันนี้ไปใช้เลยดีกว่าครับ
https://www.thaicreate.com/php/php-date-diff.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 11:44:58 By : Dragons_first
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

กรณีที่ตัวหารเป็น 0 ถ้าง่ายสุดก็ใส่ @ เข้าหน้าครับ เช่น

Code (PHP)
$j += @floor(((153 * $month) + 2) / 0);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-23 11:47:54 By : webmaster
 


 

No. 10



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทุกความคิดเห็นนะครับ จากโค้ดของคุณอ้นคุง ปัญหาที่พบคือ หน้าที่ืำการ include เข้ามา (date1.php) เกิด error

แบบนี้ครับ

Code
Fatal error: Cannot redeclare gregoriantojd() in C:\AppServ\www\date1.php on line 16


ส่วนโค้ดใหม่ที่ให้มา ในส่วนของ date.phpรันได้ แต่ข้อมูลไม่ขึ้น มีแต่ข้อความครับ

เข้าใจว่า ไม่ได้ include function GregorianToJD เข้ามา (ถ้าinclude เข้ามาจะเกิด error)



ส่วนลิงค์ https://www.thaicreate.com/php/php-date-diff.html

ที่คุณแนะนะมา ถ้านำไปใช้งานจริง ต้องสร้างfunction เกี่ยวกับ เดือนและปีเพิ่มเข้ามาใช่รึเปล่าครับ

เพราะ ที่เห็น คือ คำนวนได้แต่ระยะห่างของวัน ส่วนเรื่องเดือนกับปี นั้น ใช้งานไม่ได้

เพราะงานที่ผมต้องทำ มันต้องคำนวน ระยะเวลาห่าง เป็นปีด้วยครับ

ขอบคุณล่วงหน้านะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-24 19:56:43 By : l3ank
 


 

No. 11



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ผมไม่ได้อ่านโค้ดเท่าไหร่นะ คิดว่าคุณต้องการหาระยะวันเหลือ กับ วันที่เตือนใช่ป่าว?

Code (PHP)
$start_date = '17/03/2007';
$expire_date = '17/03/2008';

$new_start_date = join('/', array_reverse(explode('/', $start_date))); // to Y/m/d
$new_expire_date = join('/', array_reverse(explode('/', $expire_date)));

$start_timestamp = strtotime($new_start_date);
$expire_timestamp = strtotime($new_expire_date);
$warning_timestamp = $expire_timestamp - (15 * 86400); // -15 วัน

$day_left = ceil(($expire_timestamp - $start_timestamp) / 86400); // เหลือ
$warning_day = date('d/m/Y', $warning_timestamp);

echo $day_left, '<br>';
echo $warning_day;



http://www.pjgunner.com
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-24 21:02:45 By : pjgunner.com
 


 

No. 12



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


ผม ต้องการระยะห่าง วัน เดือน ปี เพื่อนนำไปคำนวณ น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 10:56:40 By : l3ank
 


 

No. 13



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

จากโค้ดที่ให้มานำมาลองรันใช้งานแล้วโดยไม่ต้อง include function GregorianToJD() ก้สามารถใช้งานได้ปกติค่ะ
เพียงแต่ผลลัพธ์ที่ได้จะออกมาเป็น จำนวนวัน เท่านั้นเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 12:23:39 By : ultrasiam
 


 

No. 14



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


ใช้ครับ งั้น ถ้าผมต้องการคำนวณเป็น ปีแบะเดือน ต้องสร้างโค้เพิ่ม เข้ามาอีกใช่มั๊ยคับ

ปีไม่เท่าไหร่หรอก แต่จำนวนเดือนนี่สิ คิดไม่ออกเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 13:14:33 By : l3ank
 


 

No. 15



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


งั้นรบกวนดูโค้ดนี้ด้วยอีกทีจะเป็นพระคุณมากครับ ติดerror ครับ เท่าที่ดูผมก็ไม่ทราบว่าเกิดจากอะไร

Code (PHP)
<?PHP
function calage($pbday)
{
$today = date(d/m/Y);
list($bady , $bmonth , $byear) = explode('/' , $pbday);
list($tday , $tmonth , $tyear) = explode('/' , $today);

 if($byear < 1970)
  {
  $yearad =1970 – $byear;
  $byear =1970;
  }else
	{
      $yearad = 0;
    }
 
  $mbirth = mktime(0,0,0,$bmonth,$bday,$byear);
  $mnow = mktime(0,0,0,$tmonth,$tday,$tyear);
  $mage= ($mnow – $mbirth);
  $age = (date('Y',$mage)-1970 + $yearad)."ปี".
  (date('m', $mage)-1)." เดือน".
  (date('d', $mage)-1)." วัน" ;
  return($age);
 }
 
 $birthday ="07/08/1985";
 print "วันเกิด  $birthday <BR>";
 print "อายุของคุณคือ ".calage($birthday);
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 12:50:06 By : l3ank
 


 

No. 16



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

error ว่าไงคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 12:52:17 By : ultrasiam
 


 

No. 17



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


Error แบบนี้ครับ
Parse error: syntax error, unexpected T_STRING in C:\AppServ\www\1.php on line 10
ผมไม่เก่งเรื่องนี้ แต่จำเป็นต้องใช้งานครับ รบกวนด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 12:55:06 By : l3ank
 


 

No. 18



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

Code (PHP)
<?php
function calage($pbday)
{
$today = date("d/m/Y");
list($bady , $bmonth , $byear) = explode('/' , $pbday);
list($tday , $tmonth , $tyear) = explode('/' , $today);

 if($byear < 1970)
  {
  $yearad =1970-$byear;
  $byear =1970;
  }else
	{
      $yearad = 0;
    }
 
  $mbirth = mktime(0,0,0,$bmonth,$bday,$byear);
  $mnow = mktime(0,0,0,$tmonth,$tday,$tyear);
  $mage= ($mnow-$mbirth);
  $age = (date('Y',$mage)-1970 + $yearad)."ปี".
  (date('m', $mage)-1)." เดือน".
  (date('d', $mage)-1)." วัน" ;
  return($age);
 }
 
 $birthday ="07/08/1985";
 print "วันเกิด  $birthday <BR>";
 print "อายุของคุณคือ ".calage($birthday);
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 13:15:44 By : ultrasiam
 


 

No. 19



โพสกระทู้ ( 50 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 18 เขียนโดย : ultrasiam เมื่อวันที่ 2010-11-26 13:15:44
รายละเอียดของการตอบ ::
ขอบคุณมากนะครับ ที่ให้ความช่วยเหลือ โค้ดใช้งานได้แล้วครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 13:33:06 By : l3ank
 


 

No. 20



โพสกระทู้ ( 1,268 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

มันมีข้อผิดพลาดเรื่อง syntax การโค้ดดิ้งนิดหน่อยค่ะ ลองแก้ตามที่แจ้ง error ดู ไปทีละอัน เดี๋ยวก็ดีเอง ^_^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 13:38:12 By : ultrasiam
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนแก้ไข โค้ดคำนวนระยะห่างของวัน ให้ด้วยครับ เกิด Error
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่