Tính toán chênh lệch giờ trong PHP?
Chủ đề: PHP / MySQLBài trước|Bài tiếp
Trả lời: strtotime() để chuyển đổi chuỗi ngày thành dấu thời gian để tính toán sự khác biệt
Mình chắc nhiều bạn cũng mắc ở đoạn tính toán sự chênh lệch theo giờ giữa hai thời gian cho trước. VD như đi từ chỗ này đến chỗ kia mất bao lâu? Vậy làm thế nào để tính toán trong php? Bài viết này sẽ chỉ cho bạn cách tính đơn giản.
Trong PHP, có nhiều cách để tính toán sự khác biệt giữa hai ngày. Trong hướng dẫn này, mình đang sử dụng các hàm ngày, thời gian của PHP để tính chênh lệch giờ giữa hai ngày.
Trong ví dụ này, chúng ta sẽ có ngày bắt đầu và ngày kết thúc từ người dùng. Và sau đó, chúng ta sử dụng strtotime() để chuyển đổi chuỗi ngày thành dấu thời gian để tính toán sự khác biệt.
Code HTML
Mã này để lấy dữ liệu đầu vào: ngày bắt đầu và ngày kết thúc từ người dùng.
Ví dụ
<form id="frmDate" action="" method="post">
<div>
<label style="padding-top:20px;">Start Date</label><br/>
<input type="text" name="startdate" value="<?php if(!empty($_POST["startdate"])) { echo $_POST["startdate"]; } ?>" class="demoInputBox">
</div>
<div>
<label>End Date</label> <span id="userEmail-info" class="info"></span><br>
<input type="text" name="enddate" value="<?php if(!empty($_POST["startdate"])) { echo $_POST["enddate"]; } ?>" class="demoInputBox">
</div>
<div>
<input type="submit" name="submit" value="Find Difference" class="btnAction">
</div>
</form>
Hàm PHP để tính chênh lệch giờ
Chúng ta gọi hàm PHP này khi người dùng gửi phạm vi ngày để tính chênh lệch giờ.
Ví dụ
<?php
function differenceInHours($startdate,$enddate){
$starttimestamp = strtotime($startdate);
$endtimestamp = strtotime($enddate);
$difference = abs($endtimestamp - $starttimestamp)/3600;
return $difference;
}
if(!empty($_POST["submit"])) {
$hours_difference = differenceInHours($_POST["startdate"],$_POST["enddate"]);
$message = "The Difference is " . $hours_difference . " hours";
} ?>
Tùy thuộc vào nhu cầu của bạn, bạn có thể sửa đổi lại hàm này theo ý mình, để lấy được kết quả mong muốn
Câu hỏi liên quan
Dưới đây là một số câu hỏi thường gặp khác liên quan đến chủ đề này:
- Làm sao tạo trang 404 trong PHP?
- Lỗi cannot be part of FULLTEXT index
- Làm sao xuất XMLWriter thành tệp XML trong PHP?
- Kết quả kiểu trả về JSON từ PHP Script
- Cách xóa ký tự cuối cùng khỏi chuỗi trong PHP
File: /home/vzn.vn/public_html/config/vzn.template.php(491) : eval()'d code
Line: 1