Hướng dẫn dùng month year trong PHP

Hướng dẫn dùng month year 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:

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

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

All rights reserved

Nội dung chính

  • 1. Thiết lập time_zone tại Việt Nam
  • 2. Định dạng ngày tháng với hàm date() trong PHP
  • 3. Xử lý ngày tháng nâng cao trong PHP
  • Kết quả trả về
  • Định dạng ngày tháng trong PHP với hàm date () - Date time 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:

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

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

All rights reserved

Hàm date() sẽ xuất ra một chuỗi thời gian dựa theo định dạng được truyền vào và số nguyên timestamp.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháp: date( $format,  $timestamp);

Trong đó:

  • $format là định dạng  thời gian mà hàm sẽ trả về.
  • $timestamp là một số nguyên Unix timestamp. nếu không truyền tham số này, nó sẽ lấy timestamp của thời điểm hiện tại.

Kết quả trả về

Hàm sẽ trả về một chuỗi thời gian đúng với định dạng $format đã truyền vào nếu chạy thành công. Nếu $timestamp truyền vào không phải là số hàm sẽ trả về FALSE và sẽ xuất ra cảnh báo.

Bài viết này được đăng tại [free tuts .net]

Ví dụ

Cách sử dụng hàm $date() lấy thời gian hiện tại.

Code

echo date("F j, Y, g:i a")."
"; echo date("m.d.y")."
"; echo date("j, n, Y")."
"; echo date("Ymd")."
"; echo date('h-i-s, j-m-y, it is w Day')."
"; echo date('\i\t \i\s \t\h\e jS \d\a\y.')."
"; echo date("D M j G:i:s T Y")."
"; echo date('H:m:s \m \i\s\ \m\o\n\t\h')."
"; echo date("H:i:s")."
"; echo date("Y-m-d H:i:s")."
";

Kết quả

May 4, 2017, 2:22 pm
05.04.17
4, 5, 2017
20170504
02-22-35, 4-05-17, 2231 2235 4 Thupm17
it is the 4th day.
Thu May 4 14:22:35 ICT 2017
14:05:35 m is month
14:22:35
2017-05-04 14:22:35

Định dạng thời gian tại một thời điểm nào đó.

Code

$date = mktime(15,50,30,4,30,2017);
echo date("F j, Y, H:i a", $date)."
"; echo date("Y-m-d H:i:s", $date)."
";

Kết quả

April 30, 2017, 15:50 pm
2017-04-30 15:50:30

Tham khảo: php.net

  • Blog
  • Tin tức

26/07/2021 03:01

Ngày tháng là một phần của cuộc sống hàng ngày, do vậy việc xử lý ngày tháng cực kỳ quan trọng khi bạn xử lý các bài viết và đăng tải lên website. Với PHP, ngôn ngữ lập trình này cung cấp các công cụ mạnh mẽ để tính toán ngày tháng giúp cho việc thao tác ngày tháng trở nên dễ dàng hơn. Trong bài viết này, cùng T3H tìm hiểu về Date, Time trong PHP.

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

Hàm date dùng để chuyển đổi thời gian theo format mà lập trình viên chỉ định mong muốn.

Cú pháp: date(format, timestamp);

Trong đó:

  • format: định  dạng ngày tháng năm, giờ phút giây.
  • timestamp(không bắt buộc) mặc định là hàm time() (chính là thời gian hiện tại).

Chuyển đổi Timestamp với hàm getdate()

Hàm getdate () tùy ý chấp nhận một timestamp và trả về một mảng liên kết chứa thông tin về ngày tháng. Nếu bạn bỏ qua Time Stamp, nó sẽ hoạt động với thời gian thực được trả về theo hàm date().

Bảng sau liệt kê các phần tử có trong mảng được trả về bởi getdate ().

STT

Mô tả

Ví dụ

1

seconds

20

2

minutes

29

3

hours

22

4

mdays

11

5

wday

4

6

mon

7

7

year

1997

8

yday

19

9

weekday

Thursday

10

month

January

11

0

948370048

Bây giờ bạn có toàn quyền kiểm soát ngày và giờ. Bạn có thể định dạng ngày và giờ này ở bất kỳ định dạng nào bạn muốn.

Ví dụ:

 $val ){

      print "$key = $val
"; } $formated_date = "Today's date: "; $formated_date .= $date_array['mday'] . "/"; $formated_date .= $date_array['mon'] . "/"; $formated_date .= $date_array['year']; print $formated_date; ?>

Output

seconds = 10

minutes = 29

hours = 9

mday = 5

wday = 1

mon = 12

year = 2016

yday = 339

weekday = Monday

month = December

0 = 1480930150

Today's date: 5/12/2016

>>> Đọc thêm: Hằng số trong PHP - Tìm hiểu nhanh về hằng số trong PHP

Chuyển đổi Timestamp với hàm date() - Date time trong PHP

Hàm date () trả về một chuỗi được định dạng biểu thị một ngày. Bạn có thể thực hiện một lượng lớn quyền kiểm soát đối với định dạng mà date () trả về với một đối số chuỗi mà bạn phải chuyển cho nó.

date(format,timestamp)

Date() tùy chọn chấp nhận một dấu thời gian nếu bị bỏ qua thì ngày và giờ hiện tại sẽ được sử dụng. Bất kỳ dữ liệu nào khác mà bạn đưa vào chuỗi định dạng được chuyển đến date () sẽ được bao gồm trong giá trị trả về.

Bảng sau liệt kê các mã mà một chuỗi định dạng có thể chứa:

STT

Mô tả

Ví dụ

1

a

‘am’ hoặc ‘pm’ viết thường

om

2

A

‘AM’ hoặc ‘PM’ viết hoa

PM

3

d

Ngày trong tháng

20

4

D

ngày trong tuần

Thu

5

F

Tên tháng

Tháng Giêng

6

h

Trả về giờ trong ngày kiểu 12h

12

7

Trả về giờ trong ngày kiểu 24h

22

8

g

22

9

G

12

10

i

22

11

Trả về ngày trong tháng, nhưng nếu ngày<10 sẽ không hiển thị số 0.

23

12

l

Trả về đầy đủ thứ trong tuần (tiếng anh)

Thursday

13

L

1

14

m

Trả về tháng trong năm (bằng số từ 1 đến 12).

1

15

M

Trả về tháng trong năm nhưng bằng tiếng anh viết tắt.

Jan

16

r

Ngày được định dạng

Thu, 21 Dec 2000 16:01:07 +0200

17

n

Tháng trong năm

2

18

s

Trả về số giây trong phút.

20

19

U

Time stamp

948372444

20

y

 Trả về 2 số cuối cùng của năm.

06

21

Y

trả về đầy đủ 4 số của năm.

2006

22

z

Ngày trong năm (từ 0-365)

206

23

Z

trả về số ngày trong năm (Ngày trong năm bắt đầu từ 0 -> 365)

+5

Ví dụ:

", time());

   echo "
"; print "Today is "; print date("j of F Y, \a\\t g.i a", time()); ?>

Kết quả nhận được:

12/05/16 9:29:47

Today is 5 2016f December 2016 at 9:29 am

>>> Tham khảo: Khóa học lập trình PHP

Kết luận: Bài viết trên đã chỉ ra một số phương pháp để xử lý ngày tháng, Date Time trong PHP, tùy vào từng trường hợp, bạn có thể áp dụng để xử lý ngày tháng một cách khác nhau. Hy vọng bài viết trên hữu ích với bạn. Tìm hiểu thêm về PHP và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H bạn nhé!