Ngu ngơ học làm web (67) - Thời gian trong PHP

Tiếp theo của: Ngu ngơ học làm web (66) - Số trong PHP

------

Phần 67. Thời gian trong PHP

Đây là clip số 54:


Sử dụng hàm getdate() để lấy thời gian hiện tại của máy chủ.

Đây là giá trị trả về của hàm getdate():

Array
(
    [seconds] => 36
    [minutes] => 21
    [hours] => 11
    [mday] => 24
    [wday] => 4
    [mon] => 11
    [year] => 2016
    [yday] => 328
    [weekday] => Thursday
    [month] => November
    [0] => 1479961296
)

Hàm date_default_timezone_get(); trả về múi giờ hiện tại được thiết lập sẵn.

Hàm date_default_timezone_set(); để thiết lập múi giờ mặc định. Ví dụ:
date_default_timezone_set('Asia/Ho_Chi_Minh');

Hàm timezone_identifiers_list(); để xem danh sách các múi giờ.

Để xác định khoảng thời gian (timestamp, tính bằng giây) so với mốc thời gian 1/1/1970; sử dụng hàm:

- time(): trả về số giây từ thời điểm hiện tại so với 1/1/1970. Ví dụ: 1509535407

- mktime(): trả về số giây từ một thời điểm bất kì so với 1/1/1970. Ví dụ,

$time = mktime(0,0,0,12/12/2015);//gio,phut,giay,thang,ngay,nam
            echo $time;

Kết quả xuất ra là: 1451235600

Sử dụng hàm date() để định dạng cách hiển thị ngày tháng. Ví dụ,

$time = time();
            echo date('d/m/y', $time);

Kết quả xuất ra là: 24/11/16

Ví dụ,

date('d/m/Y', $time);

Kết quả xuất ra là 24/11/2016

Ví dụ,

$time = mktime(0,0,0,12,2,2015);
            echo date('d/m/Y', $time);

Kết quả xuất ra là: 02/12/2015

Vào đây để xem thêm về các tham số của hàm date(): http://php.net/manual/en/function.date.php

Đây là clip số 55:


Sử dụng hàm checkdate(month, day, year) để kiểm tra sự hợp lệ của một ngày nào đó. Ví dụ,

$result = checkdate(2,31,2015);
            echo $result;

Bài tập về ngày tháng: cho người dùng nhập ngày, tháng, năm; sau khi người dùng bấm nút Submit, hệ thống sẽ thông báo “thời gian nhập vào” là hợp lệ hay không hợp lệ.

Đây là đoạn mã,

<!DOCTYPE html>
<html lang="en">
<head>
            <meta charset="UTF-8">
            <title>Document</title>
            <style>
                        * { margin: 0px; padding: 0px; }
                        .content { margin: 20px auto; width: 600px;  border: 2px solid #ddd;           padding: 10px; }
                        .content h1 { text-align: center; color: #F00; margin-bottom: 10px; }
                        .content div.row { margin-bottom: 10px; }
                        .content div.row span { width: 100px; display: inline-block; }
                        .content div.row select { width: 100px; }
                        .content div.result span { margin: 10px 0px; display: inline-block;    }
                        .content div.row input[type=submit] { padding: 2px 10px; }
            </style>
</head>
<body>
<?php
            $arrDays = range(1, 31);
            $arrMonths = range(1, 12);
            $arrYears = range(1970, 2020);
            function createSelectBox ($arrData, $name, $keySelected) {
                        $strDays = '';
                        if(!empty($arrData)) {
                                    $strDays .= '<select name="'.$name.'">';
                                    foreach ($arrData as $key => $value) {
                                                if($value == $keySelected) {
                                                                        $strDays .= '<option value="'.$value.'" selected=true>'.$value.'</option>';
                                                            }else {
                                                                        $strDays .= '<option value="'.$value.'">'.$value.'</option>';
                                                            }
                                    }
                                    $strDays .= '</select>';
                        }
                        return $strDays;
            }
           
            $day = (isset($_POST['days-select'])) ? $_POST['days-select'] : 0;
            $month = (isset($_POST['months-select'])) ? $_POST['months-select'] : 0;
            $year = (isset($_POST['years-select'])) ? $_POST['years-select'] : 0;

            $strDays = createSelectBox($arrDays,'days-select', $day);
            $strMonths = createSelectBox($arrMonths,'months-select', $month);
            $strYears = createSelectBox($arrYears,'years-select', $year);
?>
            <div class="content">
            <h1>Kiểm tra ngày tháng</h1>
                        <form action="#" method="post" id="mainForm" name="mainForm">
                                    <div class="row"> <span>Ngày</span><?php echo $strDays; ?></div>
                                    <div class="row"> <span>Tháng</span><?php echo $strMonths; ?></div>
                                    <div class="row"> <span>Năm</span><?php echo $strYears; ?></div>
                                    <div class="row"> <input type="submit" value="Check date"></div>
                                    <div class="result"> <span>Người dùng đã nhập: </span>
                                    <?php
                                                echo ' '.$day.'/'.$month.'/'.$year . '<br>';
                                                if(checkdate($month, $day, $year)) {
                                                            echo '<b>Ngày hợp lệ</b>';
                                                }else {
                                                            echo '<b>Ngày không hợp lệ</b>';
                                                }
                                    ?>
                                    </div>
                        </form>
            </div>
</body>

</html>
-----------
Cập nhật [14/9/2020]
-----------
Xem thêm:

Bạn muốn tự học HTML bài bản? Xem thêm