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,027

HOME > PHP > PHP Forum > ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน 21/7/2010,2009-07-28 00:00:00



 

ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน 21/7/2010,2009-07-28 00:00:00

 



Topic : 045786

Guest




ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน
21/7/2010,2009-07-28 00:00:00
ตัวแรกเป็นวันที่ปัจจุบันคะ นำมาหักลบ กับวันที่ที่ดึงมาจาก access คะ
ใน access ฟอร์แมตจะเป็น 28/7/2009 แต่พอมาแสดงบนเว็บ มันกลายเป็นอย่างนี้คะ 2009-07-28 00:00:00

ไม่ทราบจะหักลบยังไงคะ

ขอบคุณคะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-07-21 10:30:16 By : โน้ต View : 1070 Reply : 37
 

 

No. 1



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

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

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

ลองค้นหาคำว่า DateDiff ครับ มีหลากหลายวิธี






Date : 2010-07-21 10:48:10 By : webmaster
 


 

No. 2

Guest


2009-07-28 00:00:00 แปลงอันนี้ ให้เป็น 28/7/2009 ยังไงหรอคะ
Date : 2010-07-21 10:52:04 By : โน้ต
 

 

No. 3



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



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


ถ้าทำแบบถึกๆก็

น่าจะเปลี่ยน รูปแบบฐานข้อมูลจาก DateTime เป็น Date ก่อนนะ

แล้วค่อยทำการ explode แล้วมาสร้าง String ใหม่

แต่น่าจะมีวิธีที่ดีกว่านี้นะ
Date : 2010-07-21 10:58:00 By : 50121680
 


 

No. 4

Guest


Code (PHP)
	$EX_NET_DUE_DATE_BLANK = explode(" ",$NET_DUE_DATE);
	$EX_NET_DUE_DATE = explode("-",$EX_NET_DUE_DATE_BLANK[0]);
	$NET_DUE_DATE = "$EX_NET_DUE_DATE[2]/$EX_NET_DUE_DATE[1]/$EX_NET_DUE_DATE[0]";

vอย่างนี้ได้ไม๊คะ
Date : 2010-07-21 11:06:10 By : โน้ต
 


 

No. 5

Guest


ใช้ explode แยกเอา
Date : 2010-07-21 11:06:52 By : Note
 


 

No. 6



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



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


Code (PHP)
$date="2010-07-21";

list($yy, $mm, $dd) = explode("-", $date);

Date : 2010-07-21 11:14:54 By : 50121680
 


 

No. 7

Guest


ทำไมส่งวันที่ไปลบแล้วได้ผลแปลกๆ คะ
Code (PHP)
function DateDiff($strDate1,$strDate2)
	 {
				return (strtotime($strDate2) - strtotime($strDate1))/  ( 60 * 60 * 24 );  // 1 day = 60*60*24
	 }
	$NET_DUE_DATE = $itemrow['NET_DUE_DATE'];
	$TODAY = date("d/m/Y");
	$EX_NET_DUE_DATE_BLANK = explode(" ",$NET_DUE_DATE);
	$EX_NET_DUE_DATE = explode("-",$EX_NET_DUE_DATE_BLANK[0]);
	$aNET_DUE_DATE =array($EX_NET_DUE_DATE[2], $EX_NET_DUE_DATE[1], $EX_NET_DUE_DATE[0]);
	$NET_DUE_DATE = implode("/", $aNET_DUE_DATE);
	$OVERDUE = DateDiff($TODAY,$NET_DUE_DATE);

echo $TODAY .",".$NET_DUE_DATE.",".$OVERDUE ."<br/>";


มันจะได้อย่างนี้คะ
21/07/2010,10/08/2010,14889.6666667
21/07/2010,11/08/2010,14920.7083333
21/07/2010,13/08/2010,0

งง คะ
Date : 2010-07-21 11:24:40 By : โน้ต
 


 

No. 8



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



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


แล้วทำไมต้องเป็น 21/07/2010 ละครับ

อย่างที่ผมบอกไป

ฟอร์แมท มันเป็น 2010-07-21 ไม่ใช่ 21/07/2010

ปี-เดือน-วัน

แบบนี้ด้วยนะ

Code (PHP)
$date="2010-07-21";



ไม่ใช่
Code (PHP)
$date=2010-07-21;

Date : 2010-07-21 11:30:36 By : 50121680
 


 

No. 9

Guest


ฟอร์แมต เป็น / ไม่ได้หรอค๊า
Date : 2010-07-21 11:35:57 By : NOTE
 


 

No. 10

Guest


เปลี่ยนแล้ว ผลก็ยังแปลกๆ เหมือนเดิม คะ เปลี่ยน ตรง
Code (PHP)
	$NET_DUE_DATE = $itemrow['NET_DUE_DATE'];
	$DOC_DATE = $itemrow['DOC_DATE'];
	$TODAY = "date(\"d/m/Y\")"; // เปลี่ยนตรงนี้ ให้เป็น อย่างนี้นะคะ
	$EX_NET_DUE_DATE_BLANK = explode(" ",$NET_DUE_DATE);
	$EX_NET_DUE_DATE = explode("-",$EX_NET_DUE_DATE_BLANK[0]);
	$aNET_DUE_DATE =array($EX_NET_DUE_DATE[2], $EX_NET_DUE_DATE[1], $EX_NET_DUE_DATE[0]);
	$NET_DUE_DATE = implode("/", $aNET_DUE_DATE);
	
	echo $NET_DUE_DATE ."<br/>";

	$OVERDUE = DateDiff($NET_DUE_DATE,$TODAY);
	
	echo $TODAY .",".$NET_DUE_DATE.",".$OVERDUE ."<br/>";

Date : 2010-07-21 11:38:44 By : โน้ต
 


 

No. 11



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



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


ถ้าจะใช้งานกัน SQL ก็ต้องเป็นฟอร์แมตแบบนั้นครับ

ถ้าจะทำอย่างอื่นก็ เอามาแปลง String เอาเองครับ
Date : 2010-07-21 11:39:33 By : 50121680
 


 

No. 12



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



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


ไอนี่ของคุณครับ สังเกตุหน่อยๆ

Code (PHP)
$NET_DUE_DATE = implode("/", $aNET_DUE_DATE);


มันยังเป็น / ไม่ใช่ -
Date : 2010-07-21 11:40:45 By : 50121680
 


 

No. 13

Guest


นั่นเด่วแปลง ทั้ง 2 ให้เป็นแบบมี - คั่นแล้วเอามาคำนวนนะคะ
Date : 2010-07-21 11:41:02 By : โน้ต
 


 

No. 14

Guest


ใน db = 2010-07-21
แปลง เป็น 21/7/2553 ถ้าให้ 2010 ก็ // หน้า $year
list($year, $month, $day) = split('[/.-]', $ฟิลล์);
$year = $year + 543;
$ฟิลล์= "$day/$month/$year";
Date : 2010-07-21 11:50:40 By : ปู
 


 

No. 15



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



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


แล้วไอตรงนี้ด้วย
Code (PHP)
$TODAY = date("d/m/Y");


มันคงคำนวนไม่ได้หรอกถ้าเป็น 2010-07-21 ลบกับ 20/07/2010

เปลี่ยนเป็น
Code (PHP)
$TODAY = date("Y-d-m");


คือยังไงๆ ก่อนที่คุณจะ
Code (PHP)
$OVERDUE = DateDiff($NET_DUE_DATE,$TODAY);


ก็ควรแปลง $NET_DUE_DATE กับ $TODAY ให้เป็นไปตาม ฟอแมตก่อน(YYYY-MM-DD)
Date : 2010-07-21 12:11:53 By : 50121680
 


 

No. 16

Guest


คะได้แล้วคะ แต่ยังติดตรงที่ว่า
2010-03-26
2010-07-21,2010-03-26,-116.958333333

เอา (2010-03-26)-(2010-07-21) --> ต้องได้ -115 แต่ดันไปได้ -116.95833333 เน่ยะคะ

2010-07-21,2010-02-26,-144.958333333
2010-07-21,2010-03-05,-137.958333333
2010-07-21,2010-03-12,-130.958333333
2010-07-21,2010-03-19,-123.958333333

แต่ถ้าเป็น วันที่นี้คะ

2010-07-21,2010-04-09,-103

ค่ามันโอเคนะคะ
Date : 2010-07-21 13:08:06 By : โน้ต
 


 

No. 17

Guest


มันเกี่ยวกับการนับวันเดือนกุมภา ด้วยป่าว
Date : 2010-07-21 13:13:29 By : โน้ต
 


 

No. 18



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



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


Quote:
เอา (2010-03-26)-(2010-07-21) --> ต้องได้ -115 แต่ดันไปได้ -116.95833333 เน่ยะคะ


มันได้ -116.95833333 อ่ะถูกแล้ว
ไม่ก็ลองใน excel สิ
Date : 2010-07-21 13:13:48 By : 50121680
 


 

No. 19

Guest


อ่าว แล้ว มัน จะตรงยังไงอ่า
Date : 2010-07-21 13:20:28 By : โน้ต
 


 

No. 20



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



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


อ้าว มันก็ถูกแล้วนิครับ

คุณคิดกับอะไรหล่ะถึงได้ -115


Date : 2010-07-21 13:23:17 By : 50121680
 


 

No. 21

Guest


นับวัน จิง ๆ อะคะ
Date : 2010-07-21 13:26:14 By : โน้ต
 


 

No. 22

Guest


แล้ว จำนวน วัน มันมีค่าเปนจุดทศนิยมด้วยหรอ ม่ายมีไม๊อ่ะ
แก้ไง น๊า ~><~
Date : 2010-07-21 13:28:05 By : โน้ต
 


 

No. 23



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



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


Quote:
นับวัน จิง ๆ อะคะ

มาตรฐานการนับของคุณไม่เหมือนกันไงครับ

วันที่เริ่มนับ คนละวันกัน กำให้ค่าต่างกัน 1 วัน

ส่วนที่ได้ทศนิยม ให้คุณใช้ฟังชันปัดเศษเอา น่าจะหาเองได้แล้ว ปัญหานิดเดียว

ส่วนถ้าอยากได้วัน ตามแบบนับของคุณก็

ปัดเศษซะ แล้วลบ1 จบ
Date : 2010-07-21 13:32:32 By : 50121680
 


 

No. 24

Guest


อะ ขอบคุณค๊า
Date : 2010-07-21 13:44:39 By : โน้ต
 


 

No. 25

Guest


ถ้าทำแบบนั้น วันที่ ที่มันตรงแล้ว ก็จะถูกลบไปด้วย จิ่
Date : 2010-07-21 13:50:56 By : โน้ต
 


 

No. 26



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



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


ส่วนถ้าอยากได้วัน ตามแบบนับของคุณก็

ปัดเศษซะ แล้วลบ1 จบ
Date : 2010-07-21 14:05:58 By : 50121680
 


 

No. 27

Guest


คือถ้าทำแบบนั้น
ตัวที่ มันไม่ได้มีจุดทศนิยม มันตรงกับ ที่ เรานับอะ
ถ้าเราปัดเศษแล้ว ลบ1 ตัวที่ เรานับตรง แล้ว มันก็จะถูกหักลบ 1 ไปด้วย มัน ทำให้เพี้ยนไป มั้ยอ่าาา

หรือว่าโดยทั่วไป เค้าก็ บันทึกค่าต่างของเวลาแบบนี้อยู่แล้ว ที่เปน จุดทศนิยมเนี่ย
Date : 2010-07-21 14:18:58 By : โน้ต
 


 

No. 28



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



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


เหอะๆ มันมีการปัดค่าหลายแบบครับ ลงศึกษาและหาดู
Date : 2010-07-21 14:21:00 By : 50121680
 


 

No. 29



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



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


ลองใช้อันนี้ดูครับ

Code (PHP)
		$get_date_now = date("d-m-Y");//เวลาปัจจุบัน format แบบนี้ 21-07-2010
		$startdate = 15-07-2010 // ผมสมมุติขึ้นมา หรือจะไป get ค่าจะ db

		//จัดรูปแบบวันที่
		$begin = date("d-m-Y",strtotime($startdate));
		$end = date("d-m-Y",strtotime($get_date_now));
		
		if(($years = $years = $end-$begin)==0){
			$begin = date("z",strtotime($startdate ));//จัดรูปแบบ
			$end = date("z",strtotime($get_date_now));
		}else{
			$years*=35;
			$begin = date("z",strtotime($startdate ));
			$end = date("z",strtotime($get_date_now));	
		}
		//คำนวนหาวันที่เกินกำหนด
		 $check_over_loan = $end-$begin."</br>";
                                echo "$check_over_loan";
		



ไม่รู้ว่าตรงตามจุดประสงค์หรือไม่นะครับ
Date : 2010-07-21 15:25:21 By : jackpeed
 


 

No. 30

Guest


ลองเอาโค๊ดไปลองดู
โค๊ดนี้คุณต้องแยก วันเดือนปี ออกจากกันก่อน
แล้วเอาไปใส่ในตัวแปร

Code (PHP)
$DateStart = 26;			//วันเริ่มต้น
$MonthStart = 3;			//เดือนเริ่มต้น
$YearStart = 2010;		//ปีเริ่มต้น
$DateEnd = 21;			//วันสิ้นสุด
$MonthEnd = 7;			//เดือนสิ้นสุด
$YearEnd = 2010;		//ปีสิ้นสุด

$Start = mktime(0,0,0,$MonthStart ,$DateStart ,$YearStart);
$End = mktime(0,0,0,$MonthEnd,$DateEnd,$YearEnd);
$DateNum=($End -$Start)/86400;
echo $DateNum;

Date : 2010-07-21 15:28:03 By : heng
 


 

No. 31

Guest


ทำไม year ต้องคูณ 35 ด้วยหรอคะ
ขอบคุณนะคะ ที่ช่วยเขียนโค้ดให้
Date : 2010-07-21 15:30:26 By : โน้ต
 


 

No. 32



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



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


ไม่ต้องใส่ ท่อน
else ทั้งหมดเลยก็ได้ครับ

ผมก็ไม่แน่ใจ ว่ามันคืออะไร*35
เอาออกก็ไม่มีผลอะไรครับ
สรุปได้แล้วไช่มะครับ
Date : 2010-07-21 15:34:33 By : jackpeed
 


 

No. 33

Guest


ยังไม่ได้ลองคะ เหน ยังไม่เข้าใจโค้ดก็เลย ลองถามก่อน เด่วจะลองคะ
Date : 2010-07-21 15:38:10 By : โน้ต
 


 

No. 34

Guest


จาก No. 29 จริงๆแล้ว เขียนแค่นี้ก็ได้นะ

Code (PHP)
<?
$get_date_now = date("d-m-Y");//เวลาปัจจุบัน format แบบนี้ 21-07-2010
$startdate = '26-3-2010'; // ผมสมมุติขึ้นมา หรือจะไป get ค่าจะ db
$begin = date("z",strtotime($startdate));
$end = date("z",strtotime($get_date_now));	
//คำนวนหาวันที่เกินกำหนด
$check_over_loan = $end-$begin;
echo "$check_over_loan";
?>

Date : 2010-07-21 15:42:38 By : heng
 


 

No. 35

Guest


สรุป นั่งนับ ตั้งนาน ที่แท้ นับวันในปฏิทินผิดคะ ฮ่าๆๆๆๆๆๆๆๆๆๆๆๆ ปวดหัวเปนวัน
Date : 2010-07-21 15:55:49 By : โน้ต
 


 

No. 36



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



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


อย่างว่าละครับ
Quote:
มาตรฐานการนับของคุณไม่เหมือนกันไงครับ

วันที่เริ่มนับ คนละวันกัน กำให้ค่าต่างกัน 1 วัน

Date : 2010-07-21 15:58:01 By : 50121680
 


 

No. 37

Guest


ขอโต๊ด ทุกคนก๊าป
Date : 2010-07-21 16:27:31 By : โน้ต
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน ต้องการลบ วันที่ นะคะ จะได้ทราบว่า ห่างกันกี่วัน 21/7/2010,2009-07-28 00:00:00
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่