Định dạng ngày trong 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 . '
'; }

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:

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

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

All rights reserved

-Ở bài trước chúng ta đã tìm hiểu về các hàm xử lý dữ liệu trong PHP rồi, bài này chúng ta tiếp tục với các hàm xử lý ngày tháng trong PHP.

1, Thiết lập thời gian ở Việt Nam.

-Đầu tiên để làm việc với datetime trong PHP được chính xác thì bạn cần phải thiết lập múi giờ cho nó bằng hàm date_default_timezone_set[]

Cú pháp:

date_default_timezone_set[timezone_identifier]

-Trong đó: timezone_identifier là tên timezone các bạn muốn xét.

VD: Xét timezone của Việt Nam

date_default_timezone_set['Asia/Ho_Chi_Minh'];

=>chú ý: Phải để hàm này ở đầu file để các đoạn code phía sau hoạt động được chính xác.

-Và để xem danh sách các timezone mà PHP hỗ trợ thì các bạn sử dụng đoạn code sau:

2, Định dạng ngày tháng với hàm date[].

-Hàm date trong dùng để chuyển đổi thời gian thành các định dạng tùy chỉnh.

Cú pháp:

date[format, timestamp];

Trong đó:

  • format là định dạng thời gian mà các bạn muốn xuất ra.
  • timestamp là thời gian các bạn truyền vào [int] nếu để trống trường này thì PHP sẽ tự động lấy thời gian hiện tại.

Danh sách các format trong PHP

  1. h: Trả về giờ trong ngày kiểu 12h.
  2. H: Trả về giờ trong ngày kiểu 24h.
  3. i: Trả về phút trong giờ.
  4. s: Trả về số giây trong phút.
  5. d: trả về ngày trong tháng[từ 1- đến31].
  6. j: Trả về ngày trong tháng, nhưng nếu ngày 30 [minutes] => 26 [hours] => 22 [mday] => 19 [wday] => 0 [mon] => 2 [year] => 2017 [yday] => 49 [weekday] => Sunday [month] => February [0] => 1487517990 ]*/

    3, Lời Kết.

    -Qua phần này chúng ta đã tìm hiểu xong về các hàm xử lý ngày tháng trong PHP rồi và vì nó nằm trong series cơ bản nên mình chỉ giới thiệu các hàm đơn giản thôi, ngoài ra bạn nào muốn tìm hiểu thêm có thể xem tại đây

    Đăng ký nhận tin.

    Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

    Bài Viết Mới

Chủ Đề