Lấy năm trong php lỗi 01 01 1970

Bài viết hôm nay sẽ giải quyết câu hỏi làm thế nào tính được khoảng cách giữa 2 ngày bất kỳ và lấy kết quả trả về theo các mục đích khác nhau.

1) Tính khoảng cách giữa 2 ngày

Thuật toán được mô tả như sau :

  1. Dùng hàm strtotime() để tính ra số giây được tính từ thời điểm 01/01/1970 00:00:00 GMT đến hiện tại của 2 ngày được nhập vào.
  2. Dùng hàm abs() để lấy giá trị tuyệt đối của hiệu 2 ngày đó (vì không biết ngày nào lớn hơn).
  3. Lấy kết quả chia cho tổng số giây trong 1 ngày (24 x 60 x 60 = 86400).
  4. Cuối cùng sử dụng hàm floor() để làm tròn số ngày trả về.

Và đây là đoạn code:

signax.ae - bim construction meaning. Best indianapolis marble countertops indianapolis granitedepotindy.com.

Kết quả:

3

2) Lấy kết quả trả về theo định dạng ngày, tháng, năm

Các bạn có thể thấy kết quả trả về của đoạn code ở trên là khoảng cách (số ngày) giữa 2 ngày nhập vào. Câu hỏi đặt ra làm thế nào tính chính xác khoảng cách đó ra ngày, tháng, năm. Nói một cách dễ hiểu là, giả sử tôi nhập vào 2 ngày là 01/01/2012 và 04/05/2014. Vậy hai ngày đó cách nhau bao nhiêu năm, tháng và ngày ?

a, Cách 1

365*60*60*24) / (30*60*60*24)); $days = floor(($diff - $years 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); echo $years . " years, " . $months . " months, " . $days . " days"; ?>

b, Cách 2 (Đoạn code này chỉ áp dụng cho PHP 5.3+)

diff($date2); echo $interval->y . " years, " . $interval->m . " months, " . $interval->d . " days "; ?>

Và kết quả

0 years, 0 months, 2 days

3) Lấy kết quả trả về theo định dạng ngày, tháng, năm, giờ, phút, giây

Tương tự như vậy, đoạn code dưới đây sẽ tính chính xác khoảng cách giữa 2 ngày ra định dạng ngày, tháng, năm, giờ, phút, giây.

- Đối tượng ngày tháng là một tập hợp các thông tin về thời gian (thứ, ngày, tháng, năm, giờ, phút, giây, mili giây, múi giờ) của một thời điểm nào đó.

- Các phương thức xử lý ngày tháng trong JavaScript giúp chúng ta có thể làm một số công việc với đối tượng ngày tháng như:

  • Lấy các thông tin về thời gian của đối tượng ngày tháng: ngày, tháng, năm, giờ, phút, giây, ....
  • Thiết lập lại các thông tin về thời gian của đối tượng ngày tháng

- Dưới đây là danh sách các phương thức dùng để lấy thông tin về thời gian của đối tượng ngày tháng theo giờ địa phương:

Phương thức Mô tả getDay() Trả về ngày trong tuần (Thứ) của đối tượng ngày tháng (có giá trị từ 0 - 6) getDate() Trả về ngày trong tháng của đối tượng ngày tháng (có giá trị từ 1 - 31) getMonth() Trả về tháng của đối tượng ngày tháng (có giá trị từ 0 - 11) getFullYear() Trả về năm của đối tượng ngày tháng (có giá trị từ 1000 - 9999) getHours() Trả về giờ của đối tượng ngày tháng (có giá trị từ 0 - 23) getMinutes() Trả về phút của đối tượng ngày tháng (có giá trị từ 0 - 59) getSeconds() Trả về giây của đối tượng ngày tháng (có giá trị từ 0 - 59) getMilliseconds() Trả về mili giây của đối tượng ngày tháng (có giá trị từ 0 - 999) getTime() Trả về tổng số mili giây từ thời điểm 01/01/1970 00:00:00 đến thời điểm của đối tượng ngày tháng (tính theo giờ tiêu chuẩn UTC)

- Dưới đây là danh sách các phương thức dùng để thiết lập lại thông tin về thời gian của đối tượng ngày tháng theo giờ địa phương:

Phương thức Mô tả setDate() Thiết lập lại ngày trong tháng của đối tượng ngày tháng setMonth() Thiết lập lại tháng của đối tượng ngày tháng setFullYear() Thiết lập lại năm của đối tượng ngày tháng setHours() Thiết lập lại giờ của đối tượng ngày tháng setMinutes() Thiết lập lại phút của đối tượng ngày tháng setSeconds() Thiết lập lại giây của đối tượng ngày tháng setMilliseconds() Thiết lập lại mili giây của đối tượng ngày tháng

1) Phương thức getDay()

- Phương thức getDay() trả về ngày trong tuần (hay còn gọi là Thứ) của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 0 đến 6:

  • Chủ Nhật có giá trị 0
  • Thứ hai có giá trị 1
  • Thứ ba có giá trị 2
  • Thứ tư có giá trị 3
  • Thứ năm có giá trị 4
  • Thứ sáu có giá trị 5
  • Thứ bảy có giá trị 6

Xác định ngày trong tuần của thời điểm hiện tại


Xem ví dụ

2) Phương thức getDate()

- Phương thức getDate() trả về ngày trong tháng của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 1 đến 31.

Xác định ngày trong tháng của thời điểm hiện tại


Xem ví dụ

3) Phương thức getMonth()

- Phương thức getMonth() trả về tháng của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 0 đến 11:

  • Tháng một có giá trị 0
  • Tháng hai có giá trị 1
  • Tháng ba có giá trị 2
  • ....
  • Thứ mười hai có giá trị 11

Xác định tháng của thời điểm hiện tại


Xem ví dụ

4) Phương thức getFullYear()

- Phương thức getFullYear() trả về năm của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 1000 đến 9999.

Xác định năm của thời điểm hiện tại


Xem ví dụ

5) Phương thức getHours()

- Phương thức getHours() trả về giờ của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 0 đến 23.

Xác định giờ của thời điểm hiện tại


Xem ví dụ

6) Phương thức getMinutes()

- Phương thức getMinutes() trả về phút của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 0 đến 59.

Xác định phút của thời điểm hiện tại


Xem ví dụ

7) Phương thức getSeconds()

- Phương thức getSeconds() trả về giây của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 0 đến 59.

Xác định giây của thời điểm hiện tại


Xem ví dụ

8) Phương thức getMilliseconds()

- Phương thức getMilliseconds() trả về mili giây của đối tượng ngày tháng.

- Kết quả trả về sẽ có giá trị nằm trong khoảng từ 0 đến 999.

Xác định mili giây của thời điểm hiện tại


Xem ví dụ

9) Phương thức getTime()

- Phương thức getTime() trả về tổng số mili giây từ thời điểm 01/01/1970 00:00:00 đến thời điểm của đối tượng ngày tháng (tính theo giờ tiêu chuẩn UTC)