|
|
|
PHP Data time diff ดึงเวลาจาก db มา ลบ เวลา ปัจจุบัน แล้วทำเป็น cooldown ครับ |
|
|
|
|
|
|
|
ขออธิบายก่อนนะครับ
ผมต้องการดึงเวลาจาก DB เป็นรูปแบบ >> 28-05-2020 19:12:27 นี้ครับ
และ ใช้ code นี้ เป็นเวลาปัจจุบัน
Code (PHP)
date_default_timezone_set('Asia/Bangkok');
$date = date("d-m-Y H:i:s", mktime(date("H"), date("i")+0, date("s")+0, date("m")+0 , date("d")+0, date("Y")+0));
เวลาใน DB มากกว่าเวลาจริงเสมอ
หลังจากนั้นเอาเวลาใน DB มาลบกับเวลาปัจจุบัน ครับ
แล้วแสดงเป็นแบบนี้
0 วัน 1 ชั่วโมง 19 นาที 49 วินาที
Code (PHP)
echo $days." วัน ".$hours." ชั่วโมง ".$minutes." นาที ".$seconds." วินาที";
หลังจากนั้น คลูดาว ถ้าหาก เวลาปัจจุบัน เดินไปจนถึง เวลา ใน DB ให้แสดงปุ่ม submit เพื่อไป หน้าอื่น update ฐานข้อมูล ( จะทำระบบ คลูดาวน์แจก point ครับ)
ปล.อยากให้เวลารันแบบ traltime ด้วยครับ แนะนำหน่อยครับ
โค้ดที่เขียนได้ตอนนี้ ยังไม่ realtime
Code (PHP)
<?
mysql_connect("127.0.0.1","root","password");
mysql_select_db("dddd");
mysql_query("SET NAMES UTF8");
$x = "SELECT * FROM time order by id";
$xx = mysql_query($x);
$xa = mysql_fetch_array($xx);
date_default_timezone_set('Asia/Bangkok');
$date = date("d-m-Y H:i:s", mktime(date("H"), date("i")+0, date("s")+0, date("m")+0 , date("d")+0, date("Y")+0));
echo $date ;
echo '<br>';
echo $xa[time] ;
?>
<?php
function get_datetime_diff($datetime_start,$datetime_end)
{
$seconds = strtotime($datetime_end) - strtotime($datetime_start);
$days = floor($seconds / 86400);
$hours = floor(($seconds - ($days * 86400)) / 3600);
$minutes = floor(($seconds - ($days * 86400) - ($hours * 3600))/60);
$seconds = floor(($seconds - ($days * 86400) - ($hours * 3600) - ($minutes*60)));
echo $days." วัน ".$hours." ชั่วโมง ".$minutes." นาที ".$seconds." วินาที";
}
echo '<br>';
?>
<?=get_datetime_diff($date,$xa[time]); ?>
Tag : CakePHP
|
ประวัติการแก้ไข 2020-05-28 17:58:58
|
|
|
|
|
Date :
2020-05-28 17:55:10 |
By :
ISameDong |
View :
972 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถึงจะไม่เข้าใจคำศัพท์สองคำ cooldown กับ traltime ในเชิงโปรแกรมมิ่ง
ถ้าปัญหาหลักคือการทำ realtime บน PHP
คำตอบคือ ไม่มี realtime จริง บนโลก digital
แต่มี realtime ที่ใกล้เคียงที่สุด ที่ยอมรับกันตามนิยาม
เรียงจากง่ายไปยาก(ในมุมการใช้งาน) หรือ ยากไปง่าย(ในมุม client, server)
1. Ratchet (WebSocket)
Code (PHP)
$this->loop->addPeriodicTimer($timeout, function($timer) {
});
2. PromiseTimer (ReactPHP)
Code (PHP)
use React\Promise\Timer;
Timer\resolve(1.5, $loop)->then(function ($time) {
echo 'Thanks for waiting ' . $time . ' seconds' . PHP_EOL;
});
3. AJAX
- setTimeout()
Code (JavaScript)
function timer_function(){
var refresh=1000; // Refresh rate in milli seconds
mytime=setTimeout('AjaxFunction();',refresh)
}
- setInterval()
4. meta tag (client)
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Refresh" content="1">
</head>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = new Date();
</script>
</body>
</html>
ศึกษาจากลิงค์แล้วประยุกต์ใช้ดูครับ
|
ประวัติการแก้ไข 2020-05-29 04:20:12
|
|
|
|
Date :
2020-05-29 04:19:00 |
By :
PhrayaDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|