Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 8-Bài 10. Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP

Tác giả: Dương Nguyễn Phú Cường #10727
Ngày đăng: Hồi xưa đó
Lượt xem: 122

Một số hàm (functions) xử lý Ngày tháng (datetime) trong PHP

1. Thiết lập time_zone tại Việt Nam

Dùng để xác lập múi giờ trong việc xử lý ngày tháng trong PHP.
<?php
// Thiết lập Múi giờ Nhật bản
date_default_timezone_set('Asia/Tokyo');

// Thiết lập Múi giờ Việt nam
date_default_timezone_set('Asia/Ho_Chi_Minh');
?>
  • Danh sách timezone vùng Asia của PHP: https://www.php.net/manual/en/timezones.asia.php
  • Khi áp dụng múi giờ thì sẽ tác động đến tất cả các hàm xử lý ngày tháng sau đó.
  • Liệt kê tất cả các TimeZones được hỗ trợ trong PHP
<?php
// Liệt kê danh sách tất cả các TimeZones được hỗ trợ trong PHP
$timezones = DateTimeZone::listIdentifiers() ;
foreach ($timezones as $item){
    echo $item . '<br/>';
}
?>

2. Hàm time()

Dùng để hiển thị Ngày giờ hiện tại theo kiểu số nguyên TIMESTAMPS.
  • Timestamps: là con số nguyên Integer hiển thị số giây tổng số giây  tính từ 0 giờ 0 phút 0 giây ngày 0 tháng 0 năm 0 đến thời điểm hiện tại.
Ví dụ:
<?php
// Hiển thị ngày giờ hiện tại theo kiểu TIMESTAMPS
// Ví dụ:
//    Vào lúc 27/07/2022 (18:00:53) ⇒ 1658919653 (giây)
echo time();
?>

3. Hàm date()

Nếu bạn cần hiển thị ngày tháng hiện tại hay ở thời gian nào đó thì có thể sử dụng hàm date(), nó sẽ hiển thị ra với định dạng ngày tháng theo quy tắc bạn đã thiết lập. Ví dụ:
<?php
// Hiển thị ngày giờ hiện tại
echo date('d/m/Y H:i:s');
?>
Với các tham số định dạng format Ngày tháng như sau:
  • d - định dạng ngày bao gồm 2 chữ số vd: 01, 19
  • m - định dạng tháng
  • Y - định dạng năm dạng 1989, 2022
  • h - định dạng giờ dạng 12 giờ
  • H- định dạng giờ dạng 24 giờ
  • i - định dạng phút
  • s - định dạng giây

Định dạng ngày tháng trong MySQL

Để lưu đúng định dạng ngày tháng trong MySQL thì cần lưu trữ theo đúng định dạng ISO năm-tháng-ngày-giờ(24)-phút-giây
<?php
// Hiển thị ngày giờ theo định dạng MySQL
echo date('Y-m-d H:i:s');
?>

4. Chuyển đổi Thời gian sang kiểu INT

Hàm này dùng để chuyển chuỗi ký tự Ngày tháng sang dạng Timestamp Ví dụ:
<?php
// Chuyển đổi ngày giờ hiện tại sang kiểu INT
// Kiểu TimeStamps
echo strtotime( date('Y-m-d H:i:s') );
?>

5. Xử lý công trừ ngày tháng với hàm mktime()

Hàm này sẽ tính toán cho ra ngày chính xác với các tham số truyền vào, cú pháp hàm như sau:
<?php
mktime ($hour, $minute, $second, $month, $day , $year);
Hàm này sẽ trả về thời gian kiểu Timestamp (int), nên cần phải sử dụng hàm date() để chuyển đổi ra định dạng mong muốn. Ví dụ:
<?php
// Lấy ngày giờ hiện tại
$hien_tai_ngay = date('d');
$hien_tai_thang = date('m');
$hien_tai_nam = date('Y');
$hien_tai_gio = date('H');
$hien_tai_phut = date('i');
$hien_tai_giay = date('s');

// Ví dụ: 27/07/2022 21:30:15
// Lấy ngày hiện tại cộng thêm 10 ngày thì sẽ là ngày mấy?
$ngay_kieu_timestamp = mktime($hien_tai_gio, $hien_tai_phut, $hien_tai_giay, $hien_tai_thang, $hien_tai_ngay + 10, $hien_tai_nam);

// Kết quả: 06/08/2022 21:30:15
echo date('d/m/Y H:i:s', $ngay_kieu_timestamp);
?>
   

Chương trình học


  1. Cơ sở dữ liệu
  2. Thiết kế Cơ sở dữ liệu 12
    1. Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model) #10551
    2. Mô hình dữ liệu Vật lý PDM (Physical Data Model) #10560
    3. [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử #10552
    4. [Bài tập 1.2] - Thực hành thiết kế sơ đồ PDM (ER) trang web Thương mại điện tử #10571
    5. [Bài tập 1.3] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Thiết bị / Phòng học #10554
    6. [Bài tập 1.4] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Thiết bị / Phòng học #10572
    7. [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc #10556
    8. [Bài tập 1.6] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Kênh phát nhạc #10573
    9. [Bài tập 1.7] - Thực hành thiết kế sơ đồ CDM trang web Quản lý Truyện tranh / Tiểu thuyết #10569
    10. [Bài tập 1.8] - Thực hành thiết kế sơ đồ PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10574
    11. [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự #10575
    12. [Bài tập 1.10] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Nhân sự #10558
  3. Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS #8565
    2. Các kiểu dữ liệu trong MySQL #8575
  4. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
    1. Câu lệnh tạo cấu trúc bảng - CREATE TABLE #10599
    2. Câu lệnh hiệu chỉnh cấu trúc bảng - ALTER TABLE #10600
  5. Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL 9
    1. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
    2. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
    3. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
    4. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
    5. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
    6. [Bài tập 2.1] - Thực hành tạo cấu trúc database với PDM (ER) trang web Thương mại điện tử #10598
    7. [Bài tập 2.2] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10603
    8. Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
    9. [Bài tập 2.3] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Bóng đá #11614
  6. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 5
    1. Câu lệnh Thêm dữ liệu (INSERT) #2663
    2. Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
    3. Câu lệnh Xóa dữ liệu (DELETE) #2664
    4. [Bài tập 2.3] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Thương mại điện tử #10605
    5. [Bài tập 2.4] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Quản lý Truyện tranh / Tiểu thuyết #10625
  7. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
    1. Quy trình Workflow truy vấn dữ liệu với câu lệnh SQL SELECT #10647
    2. [Bài tập 2.5] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Bán hàng - Trang web Thương mại điện tử #10636
    3. [Bài tập 2.6] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Quản lý - Trang web Quản lý Truyện tranh / Tiểu thuyết #10637
  8. Ngôn ngữ lập trình PHP - Cú pháp căn bản 13
    1. Sơ đồ vận hành của một Website #1311
    2. Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
    3. Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
    4. [Bài tập] - Tạo các trang web PHP cho phép Khách truy cập tương ứng từ địa chỉ web URL #10651
    5. [Bài tập] - Khai báo các biến dữ liệu Đơn giản trong PHP và Render dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #10669
    6. [Bài tập] - Khai báo các biến dữ liệu Mảng Array và Render dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #10670
    7. [Bài tập] - Xét kết quả tốt nghiệp của Sinh viên dựa theo thang điểm 10 sử dụng PHP #10695
    8. [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP #10704
    9. Hàm (function) trong PHP #10713
    10. Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP #10727
    11. Các hàm (functions) kiểm tra Biến (Variable) và các hàm kiểm tra Kiểu dữ liệu (data types) của biến trong PHP #10728
    12. [Bài tập] - Làm quen với hàm (function) trong PHP #10721
    13. [Bài tập] - Làm quen và sử dụng các hàm (functions) thông dụng có sẵn trong PHP #10753
  9. Ngôn ngữ lập trình PHP - Xử lý Request và Response 6
    1. Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8704
    2. Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP #8705
    3. [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP #10771
    4. [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP #10772
    5. [Bài tập] - Tạo trang Danh sách Sinh viên và truyền dữ liệu chức năng Sửa/Xóa bằng Request GET trong PHP #10773
    6. Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8717
  10. Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
    1. Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App #10538
    2. Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần #8868
    3. [Bài tập] - Tiến hành áp dụng bố cục (layout) đã thiết kế cho các trang web thuộc Frontend #10796
  11. Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL 16
    1. Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
    2. Tạo kết nối đến CSDL MySQL trong PHP #8116
    3. Thực thi câu lệnh SELECT trong PHP #8124
    4. Thực thi câu lệnh INSERT trong PHP #8118
    5. Thực thi câu lệnh INSERT với FORM trong PHP #8126
    6. Thực thi câu lệnh UPDATE trong PHP #8120
    7. Thực thi câu lệnh UPDATE với FORM trong PHP #8133
    8. Thực thi câu lệnh DELETE trong PHP #8122
    9. Thực thi câu lệnh DELETE với FORM trong PHP #8130
    10. [Bài tập] - Tạo trang web hiển thị Danh sách các Truyện tranh/Tiểu thuyết hiện có trong Database ra ngoài Trang chủ - Thực thi câu lệnh SELECT trong PHP #10803
    11. [Bài tập] - Tạo trang web hiển thị Chi tiết của một Truyện tranh/Tiểu thuyết - Thực thi câu lệnh SELECT trong PHP #10807
    12. [Bài tập] - Tạo trang web hiển thị Nội dung của một Chương/Tập cụ thể thuộc một Truyện tranh/Tiểu thuyết nào đó - Thực thi câu lệnh SELECT trong PHP #10812
    13. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index #10819
    14. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index #10822
    15. [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create #10831
    16. [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create #10836
  12. Đồ án cuối khóa 6
    1. Cách viết Bài báo cáo Đồ án #10841
    2. Cách nộp Bài báo cáo Đồ án #10847
    3. [Đồ án tham khảo] - Website Đọc truyện tranh online #11646
    4. [Đồ án tham khảo] - Website thương mại điện tử Vật liệu xây dựng #11650
    5. [Đồ án tham khảo] - Website xem phim Online #11651
    6. Tiêu chí báo cáo Đồ án #11659
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Cơ sở dữ liệu
  2. Thiết kế Cơ sở dữ liệu 12
    1. Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model) #10551
    2. Mô hình dữ liệu Vật lý PDM (Physical Data Model) #10560
    3. [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử #10552
    4. [Bài tập 1.2] - Thực hành thiết kế sơ đồ PDM (ER) trang web Thương mại điện tử #10571
    5. [Bài tập 1.3] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Thiết bị / Phòng học #10554
    6. [Bài tập 1.4] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Thiết bị / Phòng học #10572
    7. [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc #10556
    8. [Bài tập 1.6] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Kênh phát nhạc #10573
    9. [Bài tập 1.7] - Thực hành thiết kế sơ đồ CDM trang web Quản lý Truyện tranh / Tiểu thuyết #10569
    10. [Bài tập 1.8] - Thực hành thiết kế sơ đồ PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10574
    11. [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự #10575
    12. [Bài tập 1.10] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Nhân sự #10558
  3. Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS #8565
    2. Các kiểu dữ liệu trong MySQL #8575
  4. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
    1. Câu lệnh tạo cấu trúc bảng - CREATE TABLE #10599
    2. Câu lệnh hiệu chỉnh cấu trúc bảng - ALTER TABLE #10600
  5. Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL 9
    1. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
    2. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
    3. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
    4. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
    5. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
    6. [Bài tập 2.1] - Thực hành tạo cấu trúc database với PDM (ER) trang web Thương mại điện tử #10598
    7. [Bài tập 2.2] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10603
    8. Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
    9. [Bài tập 2.3] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Bóng đá #11614
  6. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 5
    1. Câu lệnh Thêm dữ liệu (INSERT) #2663
    2. Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
    3. Câu lệnh Xóa dữ liệu (DELETE) #2664
    4. [Bài tập 2.3] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Thương mại điện tử #10605
    5. [Bài tập 2.4] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Quản lý Truyện tranh / Tiểu thuyết #10625
  7. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
    1. Quy trình Workflow truy vấn dữ liệu với câu lệnh SQL SELECT #10647
    2. [Bài tập 2.5] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Bán hàng - Trang web Thương mại điện tử #10636
    3. [Bài tập 2.6] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Quản lý - Trang web Quản lý Truyện tranh / Tiểu thuyết #10637
  8. Ngôn ngữ lập trình PHP - Cú pháp căn bản 13
    1. Sơ đồ vận hành của một Website #1311
    2. Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
    3. Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
    4. [Bài tập] - Tạo các trang web PHP cho phép Khách truy cập tương ứng từ địa chỉ web URL #10651
    5. [Bài tập] - Khai báo các biến dữ liệu Đơn giản trong PHP và Render dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #10669
    6. [Bài tập] - Khai báo các biến dữ liệu Mảng Array và Render dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #10670
    7. [Bài tập] - Xét kết quả tốt nghiệp của Sinh viên dựa theo thang điểm 10 sử dụng PHP #10695
    8. [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP #10704
    9. Hàm (function) trong PHP #10713
    10. Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP #10727
    11. Các hàm (functions) kiểm tra Biến (Variable) và các hàm kiểm tra Kiểu dữ liệu (data types) của biến trong PHP #10728
    12. [Bài tập] - Làm quen với hàm (function) trong PHP #10721
    13. [Bài tập] - Làm quen và sử dụng các hàm (functions) thông dụng có sẵn trong PHP #10753
  9. Ngôn ngữ lập trình PHP - Xử lý Request và Response 6
    1. Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8704
    2. Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP #8705
    3. [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP #10771
    4. [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP #10772
    5. [Bài tập] - Tạo trang Danh sách Sinh viên và truyền dữ liệu chức năng Sửa/Xóa bằng Request GET trong PHP #10773
    6. Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8717
  10. Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
    1. Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App #10538
    2. Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần #8868
    3. [Bài tập] - Tiến hành áp dụng bố cục (layout) đã thiết kế cho các trang web thuộc Frontend #10796
  11. Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL 16
    1. Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
    2. Tạo kết nối đến CSDL MySQL trong PHP #8116
    3. Thực thi câu lệnh SELECT trong PHP #8124
    4. Thực thi câu lệnh INSERT trong PHP #8118
    5. Thực thi câu lệnh INSERT với FORM trong PHP #8126
    6. Thực thi câu lệnh UPDATE trong PHP #8120
    7. Thực thi câu lệnh UPDATE với FORM trong PHP #8133
    8. Thực thi câu lệnh DELETE trong PHP #8122
    9. Thực thi câu lệnh DELETE với FORM trong PHP #8130
    10. [Bài tập] - Tạo trang web hiển thị Danh sách các Truyện tranh/Tiểu thuyết hiện có trong Database ra ngoài Trang chủ - Thực thi câu lệnh SELECT trong PHP #10803
    11. [Bài tập] - Tạo trang web hiển thị Chi tiết của một Truyện tranh/Tiểu thuyết - Thực thi câu lệnh SELECT trong PHP #10807
    12. [Bài tập] - Tạo trang web hiển thị Nội dung của một Chương/Tập cụ thể thuộc một Truyện tranh/Tiểu thuyết nào đó - Thực thi câu lệnh SELECT trong PHP #10812
    13. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index #10819
    14. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index #10822
    15. [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create #10831
    16. [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create #10836
  12. Đồ án cuối khóa 6
    1. Cách viết Bài báo cáo Đồ án #10841
    2. Cách nộp Bài báo cáo Đồ án #10847
    3. [Đồ án tham khảo] - Website Đọc truyện tranh online #11646
    4. [Đồ án tham khảo] - Website thương mại điện tử Vật liệu xây dựng #11650
    5. [Đồ án tham khảo] - Website xem phim Online #11651
    6. Tiêu chí báo cáo Đồ án #11659

Bài học trước Bài học tiếp theo