Lớp DateTime chắc chắn có một số phương pháp tiện dụng và có vẻ vượt trội so với các hàm ngày gốc php như strtotime
, mktime
và strftime
(và hơn thế nữa). Nhưng có bất kỳ nhược điểm nào hay lý do tại sao tôi không nên sử dụng nó?Lớp DateTime so với các hàm ngày gốc PHP
Lý do duy nhất tôi có thể nghĩ là có thể tốn kém hơn để tạo ra toàn bộ thể hiện của một lớp hơn là chỉ sử dụng một hàm.
- Bạn có đồng ý với điều đó không?
- Có ý nghĩa gì đối với chúng tôi đối tượng DateTime cho các công cụ đơn giản không?
- Có bất kỳ hạn chế nào khác không?
Có vẻ như hơi khó hiểu khi chuyển đổi giữa hai tùy chọn này mọi lúc, vì vậy tôi muốn giải phóng những gì tôi nên làm.
Hai ví dụ cho quyết định của tôi sẽ là:
- Chuyển đổi một ngày đến một giá trị khu trú
- Tính toán thời gian giữa hai thời điểm
cộng với phạm vi ngày, ngay cả trong môi trường PHP 32-bit, là đủ để giữ một nhà cổ sinh học hoặc nhà vũ trụ học nghiên cứu đầu hoặc cuối vũ trụ hạnh phúc –
Tôi thấy 'tiện dụng' của DateTime, nhưng bạn cũng sẽ sử dụng nó cho những thứ đơn giản như những gì tôi vừa thêm vào câu hỏi của tôi? – Anonymous
Tôi muốn, vì chúng ta có các hàm 'mktime' hoặc' strtotime' - chúng yêu cầu thứ tự các tham số nhất định đại diện cho ngày, năm, tháng, giờ vv. Với 'DateTime', tôi có thể tạo đối tượng bằng cách sử dụng các tham số tùy ý như' $ date = DateTime :: createFromFormat ('m H: s D-Y', $ weird_user_input); 'mà sau đó có thể được định dạng thành dấu thời gian unix hoặc bất kỳ định dạng ngày nào khác mà tôi muốn. Tôi thậm chí có thể xác định múi giờ ngay lập tức trong khi tạo đối tượng. Vì vậy, có, tôi chắc chắn sẽ sử dụng nó vì tôi không thực sự thấy cách thủ tục sẽ giúp tôi tốt hơn. –