Bài 13: Tìm Hiểu Helper Date Trong Codeigniter

Trong bài này bạn sẽ được học:

  1. Giới thiệu về helper date.
  2. Các hàm thông dụng.

Lưu ý:
Tôi sử dụng Codeigniter version 2.1.4.
Tên folder của tôi là citest cho bài viết này.

Hôm nay chúng ta sẽ tiếp tục tìm hiểu sâu hơn về các helper mà CI đã cung cấp, nếu bạn nào chưa hiểu rõ khái niệm về helper thì xin mời xem lại bài helper này , do bài viết này chỉ tập trung vào các hàm thông dụng và trong thực tế thì hầu như là ít lập trình viên nào sử dụng helper date, nên tôi sẽ không nói quá nhiều về cách thức hoạt động của nó.

Giới thiệu về helper date:

Khi các bạn bắt tay xây dựng hoàn chỉnh một ứng dụng website thì ít nhất chúng ta phải xử lý một số chức năng có liên quan đến thời gian & ngày,tháng,năm , đối với PHP thuần thì chúng ta cũng có vài hàm xử lý vấn đề này, nhưng chúng ta đang làm việc trên nền tảng framework CI, nói nôm na helper date cung cấp cho chúng ta đầy đủ các hàm để xử lý các vấn đề về thời gian.Chúng ta sẽ đi qua từng hàm để biết cách sử dụng chúng.

Cấu hình helper date:

Để sử dụng được toàn bộ các hàm bên trong nó, việc đầu tiên vẫn phải load helper vào controller bằng cú pháp sau.

$this->load->helper('date');
Sau khi hoàn tất quy trình này, chúng ta hoàn toàn có thể sử dụng toàn bộ hàm của helper date một cách thoải mái.

Các hàm thông dụng trong helper date:

now():

Hàm này trả về thời gian hiện tại trong hệ thống Unix.

Kiểu thời gian trả về có thể là thời gian local của vị trí đặt Server của hệ thống hoặc thời gian chuẩn GMT, chúng ta có thể thiết lập kiểu trả về bằng cách cấu hình lại ở vị trí $config['time_reference'] trong file config.php.
 
Nếu thiết lập giá trị nó là local thì hàm now() này không khác gì hàm time() trong php thuần.
 

mdate():

Hàm này tương đương với hàm date() của php thuần, chỉ khác ớ chỗ là mỗi kiểu hiển thị date thì phải bắt đầu bằng prefix %. Cái này rất hữu ích nếu chúng ta muốn hiển thị thông tin theo ngày, tháng, năm.
 

Ví dụ:

$dates = "Nam: %Y Thang: %m Ngay: %d - %h:%i %a";
$time = time();

echo mdate($dates, $time);

Mấy tham số trên nếu các bạn đã biết php thuần thì tôi cũng không cần phải giải thích làm gì, vì nó thuộc về basic rồi nhé.

days_in_month():

Hàm này giúp chúng ta đếm số ngày trong một tháng, ví dụ nếu các bạn muốn biết số ngày trong tháng 5 có bao nhiêu ngày thì chúng ta có cú pháp sau.

echo days_in_month(05, 2014);

Kết quả sẽ trả về con số 31, không tin thì mở lịch ra xem nhé :D

timezone_menu():

Hàm này giúp chúng ta có được list danh sách toàn bộ múi giờ thế giới với cú pháp sau.

echo timezone_menu('UM8');

Danh sách múi giờ trên thế giới.

  • UM12 - (UTC - 12:00) Enitwetok, Kwajalien
  • UM11 - (UTC - 11:00) Nome, Midway Island, Samoa
  • UM10 - (UTC - 10:00) Hawaii
  • UM9 - (UTC - 9:00) Alaska
  • UM8 - (UTC - 8:00) Pacific Time
  • UM7 - (UTC - 7:00) Mountain Time
  • UM6 - (UTC - 6:00) Central Time, Mexico City
  • UM5 - (UTC - 5:00) Eastern Time, Bogota, Lima, Quito
  • UM4 - (UTC - 4:00) Atlantic Time, Caracas, La Paz
  • UM25 - (UTC - 3:30) Newfoundland
  • UM3 - (UTC - 3:00) Brazil, Buenos Aires, Georgetown, Falkland Is.
  • UM2 - (UTC - 2:00) Mid-Atlantic, Ascention Is., St Helena
  • UM1 - (UTC - 1:00) Azores, Cape Verde Islands
  • UTC - (UTC) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia
  • UP1 - (UTC + 1:00) Berlin, Brussels, Copenhagen, Madrid, Paris, Rome
  • UP2 - (UTC + 2:00) Kaliningrad, South Africa, Warsaw
  • UP3 - (UTC + 3:00) Baghdad, Riyadh, Moscow, Nairobi
  • UP25 - (UTC + 3:30) Tehran
  • UP4 - (UTC + 4:00) Adu Dhabi, Baku, Muscat, Tbilisi
  • UP35 - (UTC + 4:30) Kabul
  • UP5 - (UTC + 5:00) Islamabad, Karachi, Tashkent
  • UP45 - (UTC + 5:30) Bombay, Calcutta, Madras, New Delhi
  • UP6 - (UTC + 6:00) Almaty, Colomba, Dhaka
  • UP7 - (UTC + 7:00) Bangkok, Hanoi, Jakarta
  • UP8 - (UTC + 8:00) Beijing, Hong Kong, Perth, Singapore, Taipei
  • UP9 - (UTC + 9:00) Osaka, Sapporo, Seoul, Tokyo, Yakutsk
  • UP85 - (UTC + 9:30) Adelaide, Darwin
  • UP10 - (UTC + 10:00) Melbourne, Papua New Guinea, Sydney, Vladivostok
  • UP11 - (UTC + 11:00) Magadan, New Caledonia, Solomon Islands
  • UP12 - (UTC + 12:00) Auckland, Wellington, Fiji, Marshall Island

standard_date():

Hàm này giúp chúng ta tạo ra các mốc thơi gian theo tiêu chuẩn nào đó với cú pháp sau.

$format = 'DATE_RFC822';
$time = time();

echo standard_date($format, $time);  

Tham số đầu tiên chứa kiểu chuẩn thời gian, tham số thứ 2 chứa thời gian theo chuẩn unix.

Các định dạng hỗ trợ:

  • DATE_ATOM : 2005-08-15T16:13:03+0000
  • DATE_COOKIE : Sun, 14 Aug 2005 16:13:03 UTC
  • DATE_ISO8601 : 2005-08-14T16:13:03+00:00
  • DATE_RFC822 : 14 Aug 05 16:13:03 UTC
  • DATE_RFC850 : Sunday, 14-Aug-05 16:13:03 UTC
  • DATE_RFC1036 : Sunday, 14-Aug-05 16:13:03 UTC
  • DATE_RFC1123 : Sun, 14 Aug 2005 16:13:03 UTC
  • DATE_RFC2822 : Sun, 14 Aug 2005 16:13:03 +0000
  • DATE_RSS : Sun, 14 Aug 2005 16:13:03 UTC
  • DATE_W3C : 2005-08-14T16:13:03+0000

Kết thúc bài học:

Với helper date chúng ta được cung cấp rất nhiều hàm dùng để xử lý vấn đề thời gian, và tôi chỉ liệt kê một số hàm thông dụng hay dùng mà thôi, nếu các bạn muốn hiểu sâu hơn thì mở user guide của nó và xem thêm, hoặc có thể google tìm theo bài viết hướng dẫn về nó. Ở loạt bài tiếp theo chúng ta sẽ tìm hiểu một số helper thông dụng khác.

Combo 2 khóa học lập trình Codeigniter từ căn bản đến nâng cao

Nếu bạn đang tự học Codeigniter mà không biết bắt đầu từ đâu thì hãy tham khảo combo 2 khóa học lập trình Codeigniter từ căn bản đến nâng cao này nhé, đây là khóa học của thầy Việt, một giảng viên đang giảng dạy tại fedu.

Nguồn: freetuts.net

KHÓA HỌC ĐANG GIẢM GIÁ

FEDU - 20: Học lập trình Angular js/MySQL/PHP

(Giảng viên: Nguyễn Đức Việt)

XEM
FEDU - 18 – Lập trình Backend cho website bằng PHP/Mysql theo mô hình MVC với Codeigniter Framework 3x

(Giảng viên: Nguyễn Đức Việt)

XEM
UNICA - Xây dựng website hoàn chỉnh với Laravel PHP Framework

(Giảng viên: )

XEM
UNICA - Lập trình FULLSTACK với ANGULAR - PHP - MYSQL

(Giảng viên: )

XEM
KYNA - Lập trình Fullstack với Angular - PHP - MySQL

(Giảng viên: Nguyễn Đức Việt)

XEM