Các hàm built in về xử lý ngày tháng năm php

date_create() - Tạo một “đối tượng ngày giờ” dựa trên một “chuỗi ngày giờ”. date_create_from_format() - Tạo một “đối tượng ngày giờ” dựa trên một “khuôn mẫu” do người dùng chỉ định. date_date_set() - Đặt lại các thông tin (ngày, tháng, năm) của đối tượng ngày giờ. date_isodate_set() - Đặt lại các thông tin (ngày, tháng, năm) của đối tượng ngày giờ (dựa trên tiêu chuẩn ISO 8601) date_time_set() - Đặt lại các thông tin (giờ, phút, giây) của đối tượng ngày giờ. date_timestamp_set() - Đặt lại “đối tượng ngày giờ” theo dấu thời gian Unix. date_modify() - THÊM / BỚT thời gian của đối tượng ngày giờ. date_add() - Cộng thêm một “khoảng thời gian” vào đối tượng ngày giờ. date_sub() - Giảm bớt một “khoảng thời gian” của đối tượng ngày giờ. date_timezone_set() - Đặt lại “múi giờ” của đối tượng ngày giờ. date_format() - Trả về một “chuỗi ngày giờ” dựa trên đối tượng ngày giờ. date_timestamp_get() - Trả về “dấu thời gian Unix” dựa trên đối tượng ngày giờ. date_timezone_get() - Trả về “đối tượng múi giờ” được sử dụng bởi đối tượng ngày giờ. date_diff() - Trả về “đối tượng khoảng thời gian” chênh lệch giữa hai đối tượng ngày giờ. date_offset_get() - Trả về độ lệch múi giờ. date_sun_info() - Trả về các thông tin liên quan đến thời điểm “bình minh” & “hoàng hôn” của một ngày tại vị trí cụ thể. date_sunrise() - Trả về thời điểm mặt trời mọc (bình minh) của một ngày tại vị trí cụ thể. date_sunset() - Trả về thời điểm mặt trời lặn (hoàng hôn) của một ngày tại vị trí cụ thể. timezone_open() - Tạo một “đối tượng múi giờ”. timezone_version_get() - Trả về phiên bản timezonedb. timezone_offset_get() - Trả về độ lệch múi giờ từ GMT. timezone_transitions_get() - Trả về tất cả các chuyển đổi cho múi giờ. timezone_name_from_abbr() - Trả về “tên múi giờ” dựa trên một từ viết tắt. timezone_name_get() - Trả về “tên múi giờ” của đối tượng múi giờ. timezone_identifiers_list() - Trả về “tên múi giờ” của tất cả các múi giờ được hỗ trợ trong PHP. timezone_abbreviations_list() - Trả về các thông tin (dst, offset, timezone_id) của tất cả các múi giờ được hỗ trợ trong PHP. timezone_location_get() - Trả về các thông tin liên quan đến vị trí (mã quốc gia, kinh độ, vĩ độ, . . . .) của đối tượng múi giờ. date_default_timezone_get() - Trả về “tên múi giờ” của múi giờ được sử dụng mặc định bởi các hàm date/time trong tập lệnh hiện tại. date_default_timezone_set() - Thiết lập “múi giờ” được sử dụng mặc định bởi các hàm date/time trong tập lệnh hiện tại. date_interval_create_from_date_string() - Tạo một “đối tượng khoảng thời gian” dựa trên một chuỗi khoảng thời gian. date_interval_format() - Trả về một “chuỗi khoảng thời gian” dựa trên đối tượng khoảng thời gian. date() - Trả về một “chuỗi ngày giờ” tại dấu thời gian Unix chỉ định (hoặc thời điểm hiện tại) gmdate() - Trả về một “chuỗi ngày giờ GMT” tại dấu thời gian Unix chỉ định (hoặc thời điểm hiện tại) idate() - Trả về một “thông tin cụ thể” liên quan đến thời gian (ví dụ như: ngày, tháng, năm, giờ, phút, giây, . . . .) tại dấu thời gian Unix chỉ định (hoặc thời điểm hiện tại) getdate() - Trả về một “mảng” chứa các thông tin liên quan đến thời gian (thứ, ngày, tháng, năm, giờ, phút, giây, . . .) tại dấu thời gian Unix chỉ định (hoặc thời điểm hiện tại) localtime()

- Trả về một “mảng” chứa các thông tin liên quan đến thời gian (thứ, ngày, tháng, năm, giờ, phút, giây, . . .) tại dấu thời gian Unix chỉ định (hoặc thời điểm hiện tại)

- Lưu ý: Hàm này hơi giống hàm getdate(). Tuy nhiên, tên khóa & cách xác định giá trị của một số thông tin (ví dụ như: Tháng, Năm, . . . .) giữa hai hàm có nhiều điểm khác nhau.

gettimeofday() - Trả về một “mảng” chứa các thông tin thời gian (sec, usec, minuteswest, dsttime) của thời điểm hiện tại. date_parse() - Trả về một “mảng” chứa các thông tin thời gian (ngày, tháng, năm, giờ, phút, giây, . . . .) của một “thời điểm” được xác định bởi một chuỗi ngày giờ. date_parse_from_format() - Trả về một “mảng” chứa các thông tin thời gian (ngày, tháng, năm, giờ, phút, giây, . . . .) của một “thời điểm” được xác định bởi một “khuôn mẫu” do người dùng chỉ định. time() - Trả về dấu thời gian Unix (thời điểm hiện tại) microtime() - Trả về dấu thời gian Unix (thời điểm hiện tại) bao gồm luôn phần micro giây (microseconds) mktime() - Trả về dấu thời gian Unix (tại một thời điểm chỉ định) gmmktime() - Trả về dấu thời gian Unix (tại một thời điểm GMT chỉ định) strtotime() - Phân tích chuỗi thành một thời điểm, rồi trả về dấu thời gian Unix tại thời điểm đó. strftime() - Định dạng ngày / giờ địa phương theo cài đặt ngôn ngữ. gmstrftime() - Định dạng ngày / giờ GMT/UTC theo cài đặt ngôn ngữ. checkdate() - Kiểm tra “một ngày” có hợp lệ theo lịch Gregorian (lịch Tây) hay không. date_get_last_errors() - Trả về cảnh báo (warning), lỗi (error) khi phân tích cú pháp chuỗi ngày tháng (date string) cuối cùng.

Các hàm built in về xử lý ngày tháng năm php

Đã đăng vào thg 11 16, 2020 10:06 SA 3 phút đọc

Vấn đề xử lý ngày tháng cực kì quan trọng khi bạn xử lý với các bài viết và đăng lên website. Ví dụ bạn cần in ra ngày tháng đăng bài viết hiển thị theo kiểu ngày / tháng / năm hoặc ngày - tháng -năm thì bắt buộc bạn phải biết cách sử dụng các hàm xử lý ngày tháng trong PHP thì mới làm được. Đó là vấn đề căn bản, vẫn còn nhiều vấn đề và tùy thuộc vào từng bài toán mà bạn sẽ có những hướng làm khác nhau.

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

Để thiết lập time_zone ta làm theo cú pháp:

date_default_timezone_set('Tên Time Zone');

Lệnh này sẽ ảnh hưởng tới tất cả các lệnh xử lý ngày tháng phía bên dưới nó nên để chắc chắn thì bạn nên để lệnh này ở đầu file của chương trình .Để thiết lập time_zone ở Việt Nam thì bạn sử dụng lệnh sau:

date_default_timezone_set('Asia/Ho_Chi_Minh');

Để xem danh sách time zone thì bạn sử dụng đoạn code sau:

$timezone = DateTimeZone::listIdentifiers() ;
foreach ($timezone as $item){
    echo $item . '<br/>';
}

2. Định dạng ngày tháng với hàm date() trong PHP

Hàm date dùng để chuyển đổi thời gian theo format mà lập trình viên mong muốn, cú pháp như sau:

date ($format, $timestamp = 'time()')

Trong đó:

  • $format là định dạng mà hàm này sẽ trả về
  • $timestamp là thời gian truyền vào (kiểu INT), mặc định nó sẽ lấy thời gian hiện tại (chính là hàm time()).

Sau đây mình sẽ liệt kê một số định dạng hay sử dụng nhất.

  • d: trả về ngày tháng (số)
  • D: trả về ngày của tháng (tiếng Anh)
  • m: trả về tháng của năm (số)
  • M: Trả về tháng của năm (tiếng Anh)
  • y: trả trả về năm (2 số cuối của năm)
  • Y: trả về năm đầy đủ 4 số
  • H: trả về số giờ (kiểu 24h)
  • h: trả về số giờ (kiểu 6h)
  • i: trả về số phút
  • s: trả về số giây
  • c: trả về thời gian kiểu ISO 8601, thường dùng tạo cho thẻ meta publish time trong SEO

Ví dụ: Lấy thời gian hiện tại theo định dạng ngày/tháng/năm - giờ:phút:giây

echo date('d/m/Y - H:i:s');

3. Xử lý ngày tháng nâng cao trong PHP

  • Chuyển đổi thời gian sang kiểu INT

Để chuyển đổi thời gian sang kiểu INT thì ta sử dụng hàm strtotime($time):

echo strtotime(date('Y-m-d H:i:s'));
  • Xử lý cộng trừ ngày tháng với hàmmktime()

Hàmmktime() sẽ tính toán đưa ra ngày chính xác bởi các tham số truyền vào, cú pháp như sau:

mktime ($hour, $minute, $second, $month, $day , $year);

Lưu ý: Hàm này sẽ trả về thời gian kiểu INT nên bạn phải sử dụng hàm date() để chuyển đổi ra định dạng mong muốn.

Cảm ơn các bạn đã đọc bài!

Tài liệu tham khảo:

https://www.php.net/manual/en/function.date.php

https://freetuts.net/xu-ly-ngay-thang-trong-php-649.html

All rights reserved