Tạo mảng Time Range trong PHP

PHP & MySQL 18/01/2017 07:00 771
Nếu bạn muốn làm một select box cho phép người sử dụng chọn lựa một mốc thời gian. Phần lớn yêu cầu này để giải quyết nhanh chóng bạn có thể sử dụng JQuery. Và chính xác hơn là sử dụng một số JQuery UI Datepicker có sẵn hiện nay
Nhưng vì một số lý do nào đó bạn không muốn sử dụng JQuery mà muốn tạo chúng từ PHP thì đây là các giúp bạn làm được điều đó.
Để cho nó thuận tiện thì có lẽ chúng ta sẽ xây dựng một hàm gọi là create_time_range()
 
Hàm create_time_range () nhận bốn tham số và trả về một array.
  • $start: Chỉ định thời gian bắt đầu. Ví dụ: 7:30 hoặc 7:30
  • $end: Chỉ định thời gian kết thúc. Ví dụ: 20:30 hoặc 20:30
  • $interval: Chỉ định khoảng thời gian sử dụng. Ví dụ, 1 giờ, 1 phút, 1 giây, vv
  • $format: Định dạng mà bạn muốn nhận được trong khoảng thời gian. Ví dụ: 12 hoặc 24 

1. Tạo hàm:

function create_time_range($start, $end, $interval = '30 mins', $format = '12') {
    $startTime = strtotime($start); 
    $endTime   = strtotime($end);
    $returnTimeFormat = ($format == '12')?'g:i:s A':'G:i:s';

    $current   = time(); 
    $addTime   = strtotime('+'.$interval, $current); 
    $diff      = $addTime - $current;

    $times = array(); 
    while ($startTime < $endTime) { 
        $times[] = date($returnTimeFormat, $startTime); 
        $startTime += $diff; 
    } 
    $times[] = date($returnTimeFormat, $startTime); 
    return $times; 
}

2. Sử dụng hàm create_time_range().

// create array of time ranges 
$times = create_time_range('7:30', '18:30', '30 mins');

3. Kết quả:

Array
(
    [0] => 7:30:00 AM
    [1] => 8:00:00 AM
    [2] => 8:30:00 AM
    [3] => 9:00:00 AM
    [4] => 9:30:00 AM
    [5] => 10:00:00 AM
    [6] => 10:30:00 AM
    [7] => 11:00:00 AM
    [8] => 11:30:00 AM
    [9] => 12:00:00 PM
    [10] => 12:30:00 PM
    [11] => 1:00:00 PM
    [12] => 1:30:00 PM
    [13] => 2:00:00 PM
    [14] => 2:30:00 PM
    [15] => 3:00:00 PM
    [16] => 3:30:00 PM
    [17] => 4:00:00 PM
    [18] => 4:30:00 PM
    [19] => 5:00:00 PM
    [20] => 5:30:00 PM
    [21] => 6:00:00 PM
    [22] => 6:30:00 PM
)

Kết hợp với html để tạo ra một hộp selectbox.

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.