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

HOME > PHP > PHP Forum > ฟังก์ชั่นการคำนวณความห่างของวันที่ ด้วย javascript แบบ TimeDriff



 

ฟังก์ชั่นการคำนวณความห่างของวันที่ ด้วย javascript แบบ TimeDriff

 



Topic : 046406

Guest




พอดีผมหาฟังก์ชั่นในการคำนวณความห่างของวันที่อยู่ครับ แล้วได้มาเจอที่เว็บของ thaicreate ครับ แล้วได้นำไปใช้งานดูครับ ปรากกฏว่าใช้งานได้ดีมาก ๆ เลยครับ แต่ก็ติดปัญหาที่ว่า format ของวันที่ ที่ต้องกรอกจะต้องเป็น พ.ศ. 15/08/2552 แบบนี้ แต่ของผมอยากได้ที่เป็น fomat ค.ศ เช่น 3/08/2010 ครับ ผมต้องแก้ไข code ตรงไหนครับ รบกวนแนะนำหน่อยครับ

<SCRIPT language="javascript">
function TimeDriff()
{
	var diff;
	var start = new Array(3);
	var end = new Array(3);
	var st = document.getElementById('start').value;
	var en = document.getElementById('end').value;

	//Thai DateFormat 15/08/2552 - DD/MM/YYYY

	//Split Start -> Date/Month/Year
	start[0] = st.substr(0,2);
	start[1] = st.substr(3,2);
	start[2] = st.substr(6,4);

	//Split End -> Date/Month/Year
	end[0] = en.substr(0,2);
	end[1] = en.substr(3,2);
	end[2] = en.substr(6,4);

	end[1] -= 1;
	start[1] -= 1;

	end[2] -= 543;
	start[2] -= 543;

	StratDate = new Date( );
	EndDate = new Date( );

	StratDate.setDate(start[0]);
	StratDate.setMonth(start[1]);
	StratDate.setFullYear(start[2]);

	EndDate.setDate(end[0]);
	EndDate.setMonth(end[1]);
	EndDate.setFullYear(end[2])

	if(StratDate.getTime( ) < EndDate.getTime( ))
	{
		diff = EndDate.getTime( ) - StratDate.getTime( );
		diff = Math.floor(diff / (1000 * 60 * 60 * 24));
	 }
	else if(EndDate.getTime( ) < StratDate.getTime( ))
	{
		diff = "0";
	}
	else if(EndDate.getTime( ) == StratDate.getTime( ))
	{
		diff = "0";
	}

	if(diff==undefined)
		document.getElementById("tmdiff").value = "";
	else
		document.getElementById("tmdiff").value = diff;
}

</SCRIPT>
<b>Calculate Time Between </b><p>
<table border="1" cellspacing="0" cellpadding="2">
<tr><td>Time Start : </td><td><input type="text" id="start" name="start" onChange="TimeDriff()"></td></tr>
<tr><td>Time End : </td><td><input type="text" id="end" name="end" onChange="TimeDriff()"></td></tr>
<tr><td>Time Diff : </td><td><input type="text" id="tmdiff" name="diff"> Days</td></tr>
</table>




Tag : JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-03 11:16:58 By : เอก View : 8082 Reply : 5
 

 

No. 1



โพสกระทู้ ( 5,149 )
บทความ ( 26 )

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

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


//end[2] -= 543;
//start[2] -= 543;


เอาสองบรรทัดนี้ออกครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-03 11:28:36 By : deawx
 


 

No. 2

Guest


ลองเอาออกแล้วครับ ก็ยังไม่ได้อยู่ดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-03 11:33:04 By : เอก
 

 

No. 3

Guest


ตอนนี้ได้แล้วครับ แต่ติดปัญหาอีกว่า ถ้าเลือกวันที่จากปฏิทินมันจะไม่คำนวณให้ครับ ต้องกรอกวันที่เอง ถึงจะคำนวณครับ แบบนี้จะต้องแก้ไขอย่างไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-03 14:55:49 By : เอก
 


 

No. 4



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

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

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

dateBetween.js
// JavaScript Document
var stringToDateObject = function(stringDate) {
	var arrString = stringDate.split("/"); 
	return new Date(arrString[1] + "/" + arrString[0] + "/" + arrString[2]);
}

var dateBetween = function(sDate, eDate) {
	var startDate = stringToDateObject(sDate);
	var endDate   = stringToDateObject(eDate);
	var oneDay    = 24 * 60 * 60 * 1000;
	
	return Math.round(endDate.getTime() - startDate.getTime()) / oneDay;
}


ทดสอบโดยใช้ console ของ firebug ถ้าไม่มีก็เปลี่ยน เป็น alert เอาละกันครับ

index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="dateBetween.js"></script>
<script type="text/javascript">
	window.onload = function () {
		console.debug(dateBetween("01/01/2010", "01/01/2011"));
	}
</script>
</head>

<body>
</body>
</html>



ประวัติการแก้ไข
2010-08-10 23:46:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-10 23:43:03 By : DS_Ohm
 


 

No. 5



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

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

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



Go to : JavaScript DateAdd() AddDay , AddMonth , AddYear



Go to : JavaScript DateDiff() Calculating the difference date time
Go to : เราจะลบวันที่แล้วให้แสดงจำนวนวัน ด้วย Javascript อย่างไร...JavaScript DateDiff , JavaScript TimeDiff
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-08 14:37:06 By : mr.win
 

   

ค้นหาข้อมูล


   
 

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