Câu trả lời đã chỉnh sửa
Nếu bạn muốn sử dụng TIMESTAMP
thông thường trong MySQL, trước tiên hãy tạo trường.
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Khi bạn đã thiết lập trường, bạn có thể để nó một mình. Khi bạn chèn mật khẩu bản ghi null
là giá trị và nó sẽ mặc định là thời điểm hiện tại. Khi bạn cập nhật bản ghi, thời gian sẽ được điều chỉnh.
Để lấy thời gian từ TIMESTAMP
bạn sẽ cần chạy truy vấn đã chọn và nhận kết quả. Đối với mục đích minh họa, điều này sẽ giống như sau:
//Integrate this into your existing code
$result = mysqli_query($connection, "SELECT LastAccessed FROM YourTable"); //get only the time field for this example
$row = mysqli_fetch_array($result);
$time = new DateTime($row['LastAccessed']); //The constructor accepts the time information as an argument
echo $time->format("H:i:s"); //This is your time information.
Vì bạn có TIMESTAMP
hiện tại, không chỉ cơ sở dữ liệu sẽ chịu trách nhiệm cập nhật nó với thời gian chính xác mà bạn luôn có thể sửa đổi định dạng $time->format()
đối số của phương thức để tạo ra một chuỗi với dữ liệu thời gian theo nhiều cách khác nhau.
Dấu thời gian được tóm tắt và ứng dụng của bạn có được tính linh hoạt.
Win-Win, phải không?
Câu trả lời ban đầu
Tạo một char(8)
trong MySQL và sau đó gửi nó kết quả đầu ra từ một cuộc gọi tới:
date("H:i:s");
Mặc dù sử dụng trường dấu thời gian trong MySQL sẽ là tối ưu, nhưng bạn có thể cập nhật trường đó khi bản ghi được tương tác với. Bạn không có để sử dụng toàn bộ dấu thời gian.