เป็นการใช้ js ในการนับอายุโดยใส่ข้อมูล วัน เดือน ปี และ เวลาที่เกิด ลงไป และทำการคํานวณ ว่ามีอายุกี่ปี กี่วัน เผื่อมีประโยชน์เอาไว้ใส่เว็บครับ
เรามาเริ่มจากตัวอย่าง ตั้งไว้วันที่ 1990-02-13 15:30 กดเลือกวันและเวลา กดปุ่ม คำนวณครับ
ในส่วน code นั้น
จะใช้ js libary อยู่สองตัวคือ jquery กับ jquery-simple-datetimepicker เพื่อทำให้ง่ายขึ้นครับ ผมจะดึงจากเว็บต้นเลยนะครับ(ไม่ได้โหลดมาไว้ใน source )
-ในส่วนของ header
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> // เรียก jquery <script src="http://mugifly.github.io/jquery-simple-datetimepicker/jquery.simple-dtpicker.js"></script> เรียก datetimepicker <link rel="stylesheet" type="text/css" href="http://mugifly.github.io/jquery-simple-datetimepicker/jquery.simple-dtpicker.css" /> css datetimepicker
– ในส่วน html
<input type=”text” name=”” id=”yearinput”> // input เพื่อทำเป็น datetimepicker
<a href="#" class="clickd" id="bt">คํานวณ</a> // ปุ่ม สำหรับกดคำนาณ <div class="myold"> <div><span class="up_y">0</span> ปี </div> // tag span แสดงปี <div><span class="up_d">0</span> วัน // tag span แสดงวัน <span class="up_h">0</span> ชัวโมง // tag span แสดงชั่วโมง <span class="up_m">0</span> นาที <br> // tag span แสดงนาที <span class="up_s">0</span> วินาที // tag span แสดงวินาที </div> </div> - การใช้ javascript จะอธิบายใน comment code
function upTime(countTo) { // fuction สำหรับคำนวณเวลา now = new Date(); // วันที่ปัจจุบัน object countTo = new Date(countTo); // ทำค่าที่รับเข้ามาจาก countTo วันที่ให้เป็น object difference = (now-countTo); // นำวันเวลาปัจจุบันกับค่าที่ได้รับมาลบกัน // ในส่วนนี้เป็นการคำนวณหาจำนวนวัน ชั่วโมง นาที และวินาที days=Math.floor(difference/(60*60*1000*24)*1); years = Math.floor(days / 365); if (years > 1){ days = days - (years * 365)} hours=Math.floor((difference%(60*60*1000*24))/(60*60*1000)*1); mins=Math.floor(((difference%(60*60*1000*24))%(60*60*1000))/(60*1000)*1); secs=Math.floor((((difference%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1); // นำตัวค่าที่ได้มาใส่ใน element html ที่เตรียมไว้ $(".up_y").html(years) ; $(".up_d").html(days) ; $(".up_h").html(hours) ; $(".up_m").html(mins) ; $(".up_s").html(secs) ; // set ให้คำนวณใหม่ทุกๆ 1 วินาที clearTimeout(upTime.to); upTime.to=setTimeout(function(){ upTime(countTo); },1000); } // init datetimepicker ใน id yearinput $('#yearinput').appendDtpicker({ "inline": true, "current": "1990-1-1 12:30" }); // จับ event ในการกดปุ่มคำนวณ $('#bt').click(function(){ // ดึง object date จาก datepicker var date = $('#yearinput').handleDtpicker('getDate'); // ส่วนนี้เป็นการจัดเรียงรูปแบบ date ให้เป็น string เพื่อใส่ใน function upTime() var month_names_short = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var month = month_names_short[date.getMonth()]; var day = date.getDate(); var year = date.getFullYear(); var h_r = date.getHours(); var m_r = date.getMinutes(); var s_r = date.getMilliseconds(); var usein = month+','+day+','+year+','+h_r+':'+m_r+':'+s_r; // เรียกใช้ upTime upTime(usein); return false; }); SOURCE CODE