Bài 13: Tìm Hiểu Helper Date Trong Codeigniter
Trong bài này bạn sẽ được học:
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
- Giới thiệu về helper date.
- 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.
Bài viết này được đăng tại [free tuts .net]
$this->load->helper('date');
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.
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.