Hướng dẫn how do you display time and date in mysql? - làm thế nào để bạn hiển thị ngày và giờ trong mysql?

11.2.2 & NBSP; ngày, DateTime và Dấu thời gian

Các loại DATE, DATETIMETIMESTAMP có liên quan. Phần này mô tả các đặc điểm của chúng, làm thế nào chúng giống nhau và cách chúng khác nhau. MySQL nhận ra các giá trị DATE, DATETIMETIMESTAMP trong một số định dạng, được mô tả trong Phần & NBSP; 9.1.3, Ngày và thời gian theo nghĩa đen. Đối với các mô tả phạm vi DATEDATETIME, được hỗ trợ, có nghĩa là mặc dù các giá trị trước đó có thể hoạt động, nhưng không có gì đảm bảo.supported means that although earlier values might work, there is no guarantee.

Loại DATE được sử dụng cho các giá trị với phần ngày nhưng không có phần thời gian. MySQL truy xuất và hiển thị các giá trị DATE ở định dạng DATE1 '. Phạm vi được hỗ trợ là DATE2 đến DATE3.

Loại DATETIME được sử dụng cho các giá trị có chứa cả phần ngày và thời gian. MySQL truy xuất và hiển thị các giá trị DATETIME ở định dạng DATE6 '. Phạm vi được hỗ trợ là DATE7 đến DATE8.

Kiểu dữ liệu TIMESTAMP được sử dụng cho các giá trị có chứa cả phần ngày và thời gian. TIMESTAMP có phạm vi DATETIME1 UTC đến DATETIME2 UTC.

Giá trị DATETIME hoặc TIMESTAMP có thể bao gồm phần giây phân đoạn kéo dài lên đến độ chính xác của micro giây (6 chữ số). Cụ thể, bất kỳ phần phân số nào trong một giá trị được chèn vào cột DATETIME hoặc TIMESTAMP đều được lưu trữ thay vì bị loại bỏ. Với phần phân số bao gồm, định dạng cho các giá trị này là ________ 16 [.________ 28] ', phạm vi cho các giá trị DATETIMETIMESTAMP0 đến TIMESTAMP1 và phạm vi cho các giá trị TIMESTAMPTIMESTAMP3 đến TIMESTAMP4. Phần phân số phải luôn luôn được tách ra khỏi thời gian còn lại bằng một điểm thập phân; Không có phân đoạn phân đoạn nào khác được công nhận. Để biết thông tin về hỗ trợ giây phân đoạn trong MySQL, xem Phần & NBSP; 11.2.6, Phần giây phân đoạn trong các giá trị thời gian.

Các loại dữ liệu TIMESTAMPDATETIME cung cấp tự động khởi tạo và cập nhật vào ngày và giờ hiện tại. Để biết thêm thông tin, xem Phần & NBSP; 11.2.5, Khởi tạo tự động và cập nhật cho dấu thời gian và DateTime.

MySQL chuyển đổi các giá trị TIMESTAMP từ múi giờ hiện tại sang UTC để lưu trữ và quay lại từ UTC sang múi giờ hiện tại để truy xuất. (Điều này không xảy ra đối với các loại khác như DATETIME.) Theo mặc định, múi giờ hiện tại cho mỗi kết nối là thời gian của máy chủ. Múi giờ có thể được đặt trên cơ sở mỗi kết nối. Miễn là cài đặt múi giờ không đổi, bạn sẽ lấy lại cùng một giá trị bạn lưu trữ. Nếu bạn lưu trữ giá trị TIMESTAMP và sau đó thay đổi múi giờ và truy xuất giá trị, giá trị được truy xuất khác với giá trị bạn lưu trữ. Điều này xảy ra bởi vì cùng một múi giờ không được sử dụng để chuyển đổi theo cả hai hướng. Múi giờ hiện tại có sẵn dưới dạng giá trị của biến hệ thống DATE0. Để biết thêm thông tin, hãy xem Phần & NBSP; 5.1.15, Múi giờ của MySQL Hỗ trợ múi giờ của MySQL.

Trong MySQL 8.0.19 và sau đó, bạn có thể chỉ định phần bù múi giờ khi chèn giá trị TIMESTAMP hoặc DATETIME vào bảng. Xem Phần & NBSP; 9.1.3, Ngày và thời gian theo nghĩa văn, để biết thêm thông tin và ví dụ.

Các giá trị không hợp lệ DATE, DATETIME hoặc TIMESTAMP được chuyển đổi thành giá trị của Zero Zero của loại thích hợp (DATE6 hoặc DATE7), nếu chế độ SQL cho phép chuyển đổi này. Hành vi chính xác phụ thuộc vào nếu bất kỳ chế độ SQL nghiêm ngặt nào và chế độ DATE8 SQL được bật; Xem Phần & NBSP; 5.1.11, Chế độ SQL Server SQL.zero value of the appropriate type (DATE6 or DATE7), if the SQL mode permits this conversion. The precise behavior depends on which if any of strict SQL mode and the DATE8 SQL mode are enabled; see Section 5.1.11, “Server SQL Modes”.

Trong MySQL 8.0.22 trở lên, bạn có thể chuyển đổi các giá trị TIMESTAMP sang các giá trị UTC DATETIME khi truy xuất chúng bằng cách sử dụng DATETIME1 với toán tử DATETIME2, như được hiển thị ở đây:

mysql> SELECT col,
     >     CAST(col AT TIME ZONE INTERVAL '+00:00' AS DATETIME) AS ut
     >     FROM ts ORDER BY id;
+---------------------+---------------------+
| col                 | ut                  |
+---------------------+---------------------+
| 2020-01-01 10:10:10 | 2020-01-01 15:10:10 |
| 2019-12-31 23:40:10 | 2020-01-01 04:40:10 |
| 2020-01-01 13:10:10 | 2020-01-01 18:10:10 |
| 2020-01-01 10:10:10 | 2020-01-01 15:10:10 |
| 2020-01-01 04:40:10 | 2020-01-01 09:40:10 |
| 2020-01-01 18:10:10 | 2020-01-01 23:10:10 |
+---------------------+---------------------+

Để biết thông tin đầy đủ về cú pháp và các ví dụ bổ sung, hãy xem mô tả của hàm DATETIME1.

Hãy nhận biết các thuộc tính nhất định của giải thích giá trị ngày trong MySQL:

  • MySQL cho phép định dạng trực tuyến của người Viking cho các giá trị được chỉ định là chuỗi, trong đó bất kỳ ký tự dấu câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần ngày hoặc phần thời gian. Trong một số trường hợp, cú pháp này có thể lừa dối. Ví dụ, một giá trị như DATETIME4 có thể trông giống như giá trị thời gian vì DATETIME5, nhưng được hiểu là năm DATETIME6 nếu được sử dụng trong bối cảnh ngày. Giá trị DATETIME7 được chuyển đổi thành DATE6 vì DATETIME9 không phải là một tháng hợp lệ.relaxed format for values specified as strings, in which any punctuation character may be used as the delimiter between date parts or time parts. In some cases, this syntax can be deceiving. For example, a value such as DATETIME4 might look like a time value because of the DATETIME5, but is interpreted as the year DATETIME6 if used in date context. The value DATETIME7 is converted to DATE6 because DATETIME9 is not a valid month.

    Phân định duy nhất được công nhận giữa phần ngày và phần thời gian và phần giây phân số là điểm thập phân.

  • Máy chủ yêu cầu giá trị tháng và ngày đó có giá trị và không chỉ trong phạm vi 1 đến 12 và 1 đến 31, tương ứng. Với chế độ nghiêm ngặt bị vô hiệu hóa, các ngày không hợp lệ như TIMESTAMP0 được chuyển đổi thành DATE6 và cảnh báo được tạo ra. Với chế độ nghiêm ngặt được bật, ngày không hợp lệ tạo ra lỗi. Để cho phép ngày như vậy, bật TIMESTAMP2. Xem Phần & NBSP; 5.1.11, Chế độ SQL Server SQL, để biết thêm thông tin.

  • MySQL không chấp nhận các giá trị TIMESTAMP bao gồm số 0 trong cột ngày hoặc tháng hoặc các giá trị không phải là ngày hợp lệ. Ngoại lệ duy nhất cho quy tắc này là giá trị đặc biệt của Zero Zero TIMESTAMP4, nếu chế độ SQL cho phép giá trị này. Hành vi chính xác phụ thuộc vào nếu bất kỳ chế độ SQL nghiêm ngặt nào và chế độ DATE8 SQL được bật; Xem Phần & NBSP; 5.1.11, Chế độ SQL Server SQL.zero value TIMESTAMP4, if the SQL mode permits this value. The precise behavior depends on which if any of strict SQL mode and the DATE8 SQL mode are enabled; see Section 5.1.11, “Server SQL Modes”.

  • Ngày chứa các giá trị năm chữ số là mơ hồ vì thế kỷ chưa được biết. MySQL diễn giải các giá trị năm 2 chữ số bằng cách sử dụng các quy tắc này:

    • Giá trị năm trong phạm vi TIMESTAMP6 trở thành TIMESTAMP7.

    • Giá trị năm trong phạm vi TIMESTAMP8 trở thành TIMESTAMP9.

    Xem thêm Phần & NBSP; 11.2.8, Năm 2 chữ số trong ngày.

Định dạng nào hiển thị giá trị thời gian MySQL?

MySQL truy xuất và hiển thị các giá trị DateTime trong định dạng 'yyyy-mm-dd hh: mm: ss'.Phạm vi được hỗ trợ là '1000-01-01 00:00:00' đến '9999-12-31 23:59:59'.Kiểu dữ liệu dấu thời gian được sử dụng cho các giá trị có chứa cả phần ngày và thời gian.YYYY-MM-DD hh:mm:ss ' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59' . The TIMESTAMP data type is used for values that contain both date and time parts.

Làm thế nào có thể tạo bảng ngày và thời gian trong MySQL?

Tạo một bảng trong MySQL..
Tạo trái cây (FruitName Varchar (20), DateTime DateEnted);....
Tạo bảng bảng_1 (...);Tạo bảng bảng_2 (...) ;.

Làm thế nào là ngày được thể hiện trong MySQL?

MySQL nhận ra các giá trị ngày trong các định dạng này: là một chuỗi trong định dạng 'yyyy-mm-dd' hoặc 'yy-mm-dd'.Một cú pháp thoải mái của người Viking được cho phép: bất kỳ ký tự dấu câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần ngày.Ví dụ: '2012-12-31', '2012/12/31', '2012^12^31', và '2012@12@31' tương đương.As a string in either ' YYYY-MM-DD ' or ' YY-MM-DD ' format. A “relaxed” syntax is permitted: Any punctuation character may be used as the delimiter between date parts. For example, '2012-12-31' , '2012/12/31' , '2012^12^31' , and '2012@12@31' are equivalent.