Helpex - Trao đổi & giúp đỡ Đăng nhập
23

Trong Laravel, Illuminate\Database\Schema\Blueprintlớp có hai phương thức mà tôi muốn biết cụ thể sự khác biệt giữa chúng.

$table->dateTime() 

$table->timestamp()

Cả hai đều lưu trữ ngày tháng theo cùng một cách rõ ràng. Ai đó để khai sáng cho tôi?

23 hữu ích 0 bình luận 11k xem chia sẻ
32

Vì vậy, bí mật của điều này là hiểu chính xác những gì mỗi cái làm.

Các hàm dateTime()timestamp()ở đây trong Laravel sử dụng các cột bảng khác nhau.

dateTime()sử dụng DATETIME làm kiểu cột DB. timestamp()sử dụng TIMESTAMP làm kiểu cột DB.

DATETIMETIMESTAMPcó rất nhiều điểm tương đồng nhưng bản thân sự khác biệt nằm bên ngoài Laravel và hơn thế nữa trong MySQL.

Sự khác biệt chính của họ là phạm vi. Đối với DateTime, nó lên đến hàng năm 9999trong khi đối với dấu thời gian, nó chỉ lên đến năm 2038. Các khác biệt khác bao gồm số lượng byte cần thiết để lưu trữ mỗi.

Tôi đã tìm thấy một bài viết hay nêu rõ sự giống và khác nhau của cả hai ở đây http://www.c-sharpcorner.com/article/difference-between-mysql-datetime-and-timestamp-datatypes/

Hi vọng điêu nay co ich.

32 hữu ích 0 bình luận chia sẻ
9

$table->dateTime() Tạo cột ngày-giờ mới trên bảng. Mặt khác, hãy $table->timestamp() tạo cột dấu thời gian mới trên bảng.

Nếu bạn có một vấn đề xác định sự khác biệt giữa dấu thời giandatetime ,

DATETIME đại diện cho ngày (như được tìm thấy trong lịch) và thời gian (có thể quan sát được trên đồng hồ treo tường)

Và,

TIMESTAMP đại diện cho một thời điểm được xác định rõ ràng. Điều này có thể rất quan trọng nếu ứng dụng của bạn xử lý múi giờ. '2010-09-01 16:31:00' cách đây bao lâu? Nó phụ thuộc vào múi giờ bạn đang ở.

Ngoài ra, bạn có thể tham khảo Tài liệu BluePrint để biết bất kỳ sự bất tiện nào.

9 hữu ích 0 bình luận chia sẻ
4

timestampdateTimelưu trữ ngày (YYYY-MM-DD) và thời gian (HH: MM: SS) cùng nhau trong một trường duy nhất tức là YYYY-MM-DD HH: MM: SS.

Sự khác biệt giữa cả hai là timestampcó thể sử dụng CURRENT_TIMESTAMPlàm giá trị của nó, bất cứ khi nào bản ghi cơ sở dữ liệu được cập nhật.

timestampcó giới hạn từ 1970-01-01 00:00:01 UTC đến 2038-01-19 03:14:07 UTC dateTimecó phạm vi 1000-01-01 00:00:00 đến 9999-12-31 23:59 : 59 giờ UTC

timestampskhông có đối số, đó là một phím tắt để thêm các trường created_atupdated_atdấu thời gian vào cơ sở dữ liệu của bạn.

4 hữu ích 2 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ php mysql laravel laravel-5 timestamp , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading