Chuỗi php theo thời gian

Ở bài viết trước đã học qua về cách xử lý đối với file trong PHP, tiếp tục series học PHP cơ bản, bài này chúng ta sẽ tìm hiểu về phương pháp xử lý ngày tháng (date) trong PHP nhé

Vấn đề 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í dụ bạn cần 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

Chuỗi php theo thời gian

Xử lý ngày giờ tháng năm trong PHP

Không những thế nó còn có các liên quan đặc biệt đến cấu trúc cơ sở dữ liệu cơ sở dữ liệu nữa nên tầm quan trọng của việc xử lý thời gian này là không hề nhỏ

Thiết lập múi giờ (múi giờ) tại Việt Nam

Để cấu hình và làm việc với thời gian datetime đúng theo giờ Việt Nam thì bắt buộc phải thiết lập múi giờ (múi giờ) cho nó

Cú pháp để thiết lập múi giờ là. date_default_timezone_set(‘timezone_identifier’);

Trong đó timezone_identifier là múi giờ mà bạn muốn thiết lập

Mình đang ở Châu Á và ở Việt Nam – Hồ Chí Minh nên sẽ có múi giờ là Asia/Ho_Chi_Minh, mỗi khu vực sẽ chênh lệch nhau về thời gian nên các bạn phải lưu ý khi website có liên quan đến nước ngoài

date_default_timezone_set('Asia/Ho_Chi_Minh');

Khoảng thời gian các bạn có thể tham khảo thêm tại. http. //php. net/manual/en/múi giờ. php

Hoặc các bạn có thể sử dụng đoạn mã dưới đây để xuất màn hình danh sách tất cả các múi giờ

';
}
?>

Hoặc ta cũng có thể sử dụng hàm timezone_abbreviations_list để xuất múi giờ theo mã bên dưới

';
        }
    }
}
?>

Lưu ý. Hàm thiết lập múi giờ này các bạn nên đặt ở đầu trang để cách đoạn mã bên dưới hoạt động được hiệu quả và vị trí lỗi nhé.

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

Sử dụng hàm date để chuyển đổi thời gian theo định dạng mà chỉ định định dạng cài đặt thành viên mong muốn

Cú pháp. ngày (định dạng, dấu thời gian);

in which

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

Danh sách các định dạng định dạng của date()

  1. h. Return time in the date type 12h
  2. H. Return time in the date type 24h
  3. i. Trả về phút trong giờ
  4. s. Trả về số giây trong phút
  5. S. Trả về hậu tố tiếng Anh cho ngày trong tháng, 2 ký tự. (st, nd, rd, th)
  6. d. trả lại ngày trong tháng(bằng số từ 1- đến31)
  7. t. Số ngày trong 1 tháng (28 -> 31)
  8. j. Trả về ngày trong tháng, nhưng nếu ngày<10 sẽ không hiển thị số 0
  9. D. Trả về định dạng thứ trong tuần bằng tiếng anh viết tắt. (có 3 chữ cái)
  10. l. Trả về đầy đủ thứ trong tuần (tiếng anh)
  11. m. Trả về tháng trong năm (bằng số từ 1 đến 12)
  12. M. Trả về tháng trong năm nhưng bằng tiếng anh viết tắt
  13. y. Trả về 2 số cuối cùng của năm
  14. Y. return full 4 number of year
  15. c. Trả về thời gian kiểu ISO 8601, thường được sử dụng để tạo thời gian xuất bản cho thẻ meta trong SEO
  16. z. Trả về số ngày trong năm (Ngày trong năm bắt đầu từ 0 -> 365)

Ngoài ra các bạn có thể xem chi tiết đầy đủ về các định dạng khác tại đây

echo date("Y-m-d"),'
'; //kết quả trả ra có dạng như 2020-02-23 echo date("d-m-Y"),'
'; //kết quả trả ra có dạng như 23-02-2020 echo date("d-m-Y H:i:s"),'
'; //kết quả trả ra có dạng như 22-02-2020 12:25:31

Đỡ ra ta có thể phân cách ngày tháng năm bằng dấu chéo

';
        }
    }
}
?>
2 hoặc dấu gạch nối
';
        }
    }
}
?>
3
hoặc dấu hai chấm
';
        }
    }
}
?>
4

Truyền thêm chuỗi trong hàm date()

Để cho chuỗi nội dung mà các bạn muốn hiển thị như ý muốn, các bạn thêm dấu gạch chéo ngược

';
        }
    }
}
?>
5 vào trước mỗi ký tự của chuỗi

________số 8

Phương pháp xử lý ngày tháng nâng cao trong PHP

Định dạng ngày tháng chuẩn trong MySQL

Để lưu đúng định dạng ngày tháng trong MySQL, bạn sử dụng định dạng bên dưới

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

Đây là định dạng chuẩn để bạn có thể sử dụng để đăng bài cũng như tải lên hay bình luận một nội dung nào đó được lưu vào cơ sở dữ liệu

Chuyển đổi định dạng định dạng ngày tháng

Ngoài cách đổi định dạng định dạng trực tiếp trong hàm date() thì ta có một cách thay đổi định dạng định dạng xuất ra ngày tháng khác đó là hàm date_format()

';
}
?>
0

Cộng trừ tháng với mktime()

Hàm mktime() sẽ tính toán được đưa ra ngày chính xác bởi các tham số truyền vào

';
}
?>
1

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 định dạng mong muốn

Ví dụ. ta sẽ cộng thêm 5 ngày và 6 giờ đối với ngày 23/02/2020

';
}
?>
2

Ví dụ 2. ta sẽ cộng thêm 26 giờ đối với ngày 23/02/2020

';
}
?>
3

Ví dụ 3. ta sẽ cộng thêm 15 ngày đối với ngày 23/02/2020

';
}
?>
0

Các bạn để ý từ 2 ví dụ trên, nếu bạn công số giờ có kết quả quá 24, hoặc cộng số ngày có kết quả vượt quá số ngày trong tháng đó thì giờ hoặc ngày hoặc tháng sẽ tự động tăng thêm 1. Tương tự đối với năm cũng vậy. Chính vì thế khi thực hiện công việc ngoại trừ đối với thời gian bạn hãy kiểm tra cẩn thận để không bị sai lệch nhé.

';
}
?>
1

Thay đổi ngày tháng date_modify()

Hàm date_modify() giúp ta thay đổi ngày hành động. Đây cũng là một phương pháp dùng để tính toán công trừ cho các tháng các bạn nhé

';
}
?>
2

Như vậy ta có thể sử dụng hàm date_modify() và hàm mktime() để tính ngày đều được cả. Nhưng đối với mình lại thường hay dùng hàm mktime để tính hơn

Get date information by a array with getdate()

Hàm getdate() sẽ giúp ta chuyển dữ liệu ngày tháng về dạng mảng trong PHP và ta có thể xuất ra màn hình theo phương pháp sau

';
}
?>
3KhóaGiá trịví dụ“giây”số giây0 đến 59“phút”số phút0 đến 59“giờ”số giờ0 đến 23“mday”Ngày trong tháng1 đến 31“thứ”Ngày trong tuần0 (Chủ Nhật) đến 6 (Thứ Bảy)“thứ”Tháng1

Một số hàm lấy thông tin ngày/giờ khác

Get the last day of the month

';
}
?>
4

At function on you will found in code has made 2 variable $year and $month. Đầu tiên sẽ kiểm tra nếu không có 2 thông số truyền vào phù hợp thì hàm sẽ tự động lấy năm và tháng thông báo qua thời gian hiện tại. Sau đó ta sẽ gán biến $result vào ngày đầu tiên của tháng trong năm hiện tại. Tiếp tục ta gán biến $result thêm 1 lần nữa như sau

mở lệnh strtotime('-1 giây' . Khi đó ta có khoảng thời gian là năm hiện tại, tháng tiếp theo của tháng hiện tại và ngày đầu tiên của tháng đó. strtotime(‘+1 month’, $result)); ta thấy hàm strtotime được lồng bên trong sẽ tính bằng cách lấy năm hiện tại, còn tháng hiện tại thì cộng thêm 1 với thời gian là 0h0m0s. Khi đó ta có thời gian là năm hiện tại, tháng tiếp theo của tháng hiện tại và ngày đầu tiên của tháng đó.

Tiếp tục theo lệnh ra lệnh strtotime bên ngoài thời gian sẽ bị loại trừ 1 giây, tức là khi thời gian này từ 0h của ngày đầu tiên của . Thời gian tự khắc sẽ bị lùi về 1 ngày cũng như lùi về 1 tháng. Như vậy kết quả xuất ra màn hình sẽ là ngày cuối cùng của tháng hiện tại.

Get the first date of the month only

';
}
?>
5

At function on you will found in code has made 2 variable $year and $month. Đầu tiên sẽ kiểm tra nếu không có 2 thông số truyền vào phù hợp thì hàm sẽ tự động lấy năm và tháng thông báo qua thời gian hiện tại. Sau đó ta sẽ chỉ định biến $result bằng ngày đầu tiên của tháng trong năm hiện tại. Then ta export in the format of function date()

Các bạn hãy tham khảo về hàm strtotime() ở mục bên dưới để hiểu rõ hơn nhé

Hàm strtotime() handle ngày tháng trong PHP

Hàm này giúp tạo ra một kiểu định dạng thời gian theo kiểu INT từ một chuỗi

Trường hợp này được sử dụng nhiều khi lấy dữ liệu từ MySQL với định dạng là datetime

cú pháp. strtotime($thời gian)

';
}
?>
6

This function of this function not only each as so. Nó còn dùng để thực hiện một số hàm nâng cao khác, ví dụ như hàm lấy ngày cuối, ngày đầu trong tháng đã được giới thiệu ở phần trên

Phép toán với hàm strtotime

Bắt đầu từ bất kỳ thời điểm nào trong quá khứ hoặc tương lai
';
}
?>
7
Cộng 1 tháng tính từ thời điểm hiện tại
';
}
?>
8
Cỗng thời gian cộng 2 khác nhau

Áp dụng từ công việc trừ ngày hoặc tháng từ 2 ví dụ trên, ta có thể sử dụng phương pháp đó để cộng gộp 2 thời gian khác nhau lại với nhau theo hàm bên dưới

';
}
?>
9

Hàm strtotime cái này có thể sau này mình sẽ viết một bài riêng để nói chuyên về nó sau vì hàm này được dùng để tính toán .

So sánh sự chênh lệch giữa 2 ngày

trong trường hợp so sánh độ chênh lệch của 2 ngày ta sử dụng hàm diff()

$date1->diff($date2);

';
        }
    }
}
?>
0

Kiểm tra tính hợp lệ của tra cứu ngày tháng

Để kiểm tra tính hợp lệ về định dạng cho tháng ta sử dụng ngày kiểm tra chức năng. Kết quả đúng sẽ trả về đúng, sai sẽ trả về sai

Cú pháp. ngày kiểm tra($tháng, $ngày, $năm);

';
        }
    }
}
?>
1

end

Qua bài viết trên mình đã liệt kê một số phương pháp, một số hàm cần thiết để xử lý thời gian ngày/giờ trong PHP

Hãy vào từng trường hợp và tính đơn giản của bài toán mà ta sẽ phải áp dụng các hàm tính toán ngày thang dạng nâng cao nói trên cách phù hợp nhất. Vấn đề này các bạn cần làm nhiều bài tập thì sẽ tự lựa chọn phù hợp được

Mỗi bài viết về kiến ​​thức học PHP của mình đều có thể chưa hoàn chỉnh đầy đủ nên mong các bạn hãy tra google khi tham khảo và mong các bạn có thể gửi lại comment bổ sung bên dưới để mình có thể hoàn thiện lại bài viết . Cảm ơn các bạn

Nếu các bạn cảm thấy Website TanHongIT. Com thật sự hữu ích mình mong các bạn có thể share những bài viết để cộng đồng cùng thảo luận nhé. Cảm ơn các bạn

Các bạn có bất kỳ thắc mắc nào cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, học khóa,… thì cứ comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé. Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất