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 > การคำนวนหาช่างเวลา ตั้งแต่เริ่มถึงสิ้นสุด ถ้าฐานข้อมูลเป็นแบบนี้ต้องทำยังไงครับ



 

การคำนวนหาช่างเวลา ตั้งแต่เริ่มถึงสิ้นสุด ถ้าฐานข้อมูลเป็นแบบนี้ต้องทำยังไงครับ

 



Topic : 073019



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



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




การคำนวนหาช่างเวลา ตั้งแต่เริ่มถึงสิ้นสุด ถ้าฐานข้อมูลเป็นแบบนี้ต้องทำยังไงครับ ผมลองทำตาม link พวกนี้ไม่สามารถทได้ครับ
https://www.thaicreate.com/php/php-date-diff.html
http://www.go4expert.com/forums/showthread.php?t=1483

เนื่องจากฐานข้อมูลผมเป็นแบบในรูป
ะรทำ

จะทำยังถึงจะคำนวนวันเวลาออกมาได้ครับ รบกวนด้วยครับ

แล้วมันมีช่วงเวลาทำการด้วยครับคือ คิดช่วงเวลาทำงาน ตั้งแต่เวลา 8.30 - 12.00 พักเที่ยงไม่นับ ต่อด้วย 13.00-17.30 รับ



Tag : PHP, Ms SQL Server 2005









ประวัติการแก้ไข
2012-02-01 14:31:54
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-01 05:55:25 By : karurub View : 1357 Reply : 10
 

 

No. 1



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

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

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

ตกลงคุณใช้ Database อะไรครับ MySQL, Ms SQL Server 2005, Ms SQL Server 2008






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 06:10:23 By : webmaster
 


 

No. 2



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



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


sql2005 ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 10:41:22 By : karurub
 

 

No. 3



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



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


ในระบบที่ base นี้มันแก้ตัว date time ไม่ได้ด้วย ต้องใช้รูปแบบนี้เท่านั้นครับ ทำไงดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 15:25:00 By : karurub
 


 

No. 4



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

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

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

ใช้ DATEDIFF ของ SQL Server ได้หรือเปล่าครับ

Code
DATEDIFF ( datepart , startdate , enddate )


Go to : SQL Server DATEDIFF ตัวอย่างการใช้งาน SQL Server การเปรียบเทียบวันหรือ DATEDIFF ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 15:38:55 By : webmaster
 


 

No. 5



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



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


ผมลองใน sql query

SELECT DATEDIFF(closeTime,createTime) AS DiffDate from oscl

มันฟ้องว่า

Msg 174, Level 15, State 1, Line 37
The datediff function requires 3 argument(s).
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 17:19:25 By : karurub
 


 

No. 6



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



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


ทำไงดีครับ ผมลองทำตามหลายๆเวปก็ไม่ได้เพราะรูปแบบผมไม่เหมือนกับเค้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-01 21:59:10 By : karurub
 


 

No. 7



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



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


ตอนนี้สามารถ คำนวนวันได้แล้ว แต่เวลายังไม่ได้ ตาม Code ข้างล่าง แล้วก็แต่ยังติดเงื่อนไขที่ว่า เวลาทำงาน 8.30 -17.30 พักเที่ยงไม่นับ 12.00-13.00  และวันอาทิตย์หยุดทำงาน ต้องทำยังไงครับ

Code (PHP)
<HTML>
<title>Untitled Document</title>
<?
	$objConnect = mssql_connect("192.168.1.3\SQL2005","sa","pass") or die("Error Connect to Database");
	$objDB = mssql_select_db("db");
?>

<body>
<?
	$strSQL = "select CONVERT(varchar(10),createdate,120) as createdate,createtime,CONVERT(varchar(10),closedate,120) as closedate,closetime from oscl where callid = '8'";
	$objQuery = mssql_query($strSQL);
	while($objResult = mssql_fetch_array($objQuery))
	{
	$strDate1 = $objResult["createdate"];
	$strDate2 = $objResult["closedate"];
	$strTime1 = $objResult["createtime"];
	$strTime2 = $objResult["closetime"];

	echo $strDate1."<br>";
	echo $strDate2."<br>";
	echo $strTime1."<br>";
	echo $strTime2."<br>";
	}
?>
<?
	 function DateDiff($strDate1,$strDate2)
	 {
				return (strtotime($strDate2) - strtotime($strDate1))/  ( 60 * 60 * 24 );  // 1 day = 60*60*24
	 }
	 function TimeDiff($strTime1,$strTime2)
	 {
				return (strtotime($strTime2) - strtotime($strTime1))/  ( 60 * 60 ); // 1 Hour =  60*60
	 }
	 function DateTimeDiff($strDateTime1,$strDateTime2)
	 {
				return (strtotime($strDateTime2) - strtotime($strDateTime1))/  ( 60 * 60 ); // 1 Hour =  60*60
	 }

	 echo "Date Diff = ".DateDiff($strDate1,$strDate2)."<br>";
	 echo "Time Diff = ".TimeDiff($strTime1,$strTime2)."<br>";
	 echo "Date Time Diff = ".DateTimeDiff($strDate1.$strTime1,$strDate2.$strTime2)."<br>";
?>
</body>
</html>



ค่าที่ออกมาได้

CreateDate = 2011-06-24
CloseDate = 2011-06-30
CreateTime = 917
CloseTime = 1924

Date Diff = 6
Time Diff = 368940.4 (ทำไมค่ามันออกมาแปลกๆครับตรงนี้)
Date Time Diff = 363731.4 (ทำไมค่ามันออกมาแปลกๆครับตรงนี้)



ประวัติการแก้ไข
2012-02-02 01:10:49
2012-02-02 01:17:42
2012-02-02 01:26:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-02 01:09:40 By : karurub
 


 

No. 8



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

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

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

Quote:
DATEDIFF ( datepart , startdate , enddate )


มันมี 3 arg ครับ ผมว่าทำที่ Query จะง่ายกกว่าน่ะครับ ถ้าเป็น SQL Server
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-02 09:56:49 By : webmaster
 


 

No. 9



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



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


พอยกตัวอย่าง Query ให้ได้มั้ยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-02 16:51:11 By : karurub
 


 

No. 10



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

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

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

ตาม Link ที่ส่งให้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-02 16:52:11 By : webmaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การคำนวนหาช่างเวลา ตั้งแต่เริ่มถึงสิ้นสุด ถ้าฐานข้อมูลเป็นแบบนี้ต้องทำยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่