Chèn dấu thời gian vào mongodb java

Nó đang lưu ngày theo GMT không theo múi giờ địa phương của tôi. Nhưng khi tôi chèn qua shell bằng lệnh. db. kiểm tra. chèn ({ngày. Ngày tháng()});

Có cách nào để chèn Ngày theo định dạng múi giờ địa phương bằng java hoặc bất kỳ cách nào để chuyển đổi ngày thành múi giờ địa phương trong khi truy xuất

Cảm ơn & Trân trọng

- stackoverflow. com

ghi bàn. 1

Đối tượng Ngày java cố ý không phân biệt múi giờ và được cho là đại diện cho thời gian GMT (nó lưu trữ bên trong giá trị của nó dưới dạng mili giây kể từ ngày 1 tháng 1 năm 1970, 00. 00. 00 giờ GMT). Tôi thực sự khuyên bạn nên làm việc với điều này và xử lý nội bộ tất cả các ngày tính theo GMT, vì nó giúp bạn tránh được nhiều rắc rối với thời gian tiết kiệm ánh sáng ban ngày hoặc khi ứng dụng của bạn sẽ được triển khai theo cách phân tán trong nhiều múi giờ

Để chuyển đổi một đối tượng Ngày thành hoặc từ các chuỗi đại diện cho nó trong múi giờ của người dùng, hãy sử dụng một SimpleDateFormat mà bạn đã gọi phương thức với người dùng TimeZone (phương thức tĩnh cung cấp cho bạn múi giờ của hệ thống cục bộ)

Bạn đang ở đây. Trang chủ / Hướng dẫn Java cốt lõi / JDBC - Java Database connectivity tutorial


Trong bài đăng này, chúng tôi sẽ Chèn dấu thời gian vào Jdbc với ví dụ/chương trình trong java

NGÀY và DẤU THỜI GIAN đều cho phép bạn lưu trữ NGÀY. THÁNG. NĂM GIỜ. PHÚT. THỨ HAI



NGÀY và DẤU THỜI GIAN cung cấp 7 byte để lưu trữ tất cả dữ liệu được đề cập ở trên


Tuy nhiên, TIMESTAMP cũng cho phép bạn lưu trữ GIÂY PHÂN SỐ

TIMESTAMP cung cấp 11 byte để lưu trữ GIÂY PHÂN SỐ

TIMESTAMP cũng cung cấp thêm 2 byte để lưu trữ TIMEZONE


Khi nào thì sử dụng NGÀY và DẤU THỜI GIAN?

Nếu chúng ta chỉ cần lưu trữ thời gian mà không cần nhiều độ chính xác, bạn phải chọn DATE

Tuy nhiên, nếu bạn cần thời gian được lưu trữ với độ chính xác cao thì ngay cả những giây nhỏ cũng có thể quan trọng

Ví dụ - Trong sòng bạc, các trò chơi đấu thầu và jackpot mà ngay cả những giây nhỏ cũng có thể quan trọng



--Trước khi thực thi chương trình java, hãy thực hiện các tập lệnh cơ sở dữ liệu này  >


tạo bảng NHÂN VIÊN(TÊN varchar2(22), CREATION_DATE TIMESTAMP);


--Nếu bảng đã tồn tại thì thực hiện lệnh DROP >

thả bàn NHÂN VIÊN;



Để chèn dấu thời gian trong Jdbc, hãy sử dụng -

mới java. sql. Dấu thời gian(mới java. sử dụng. Ngày tháng(). getTime())



Ví dụ/chương trình để chèn dấu thời gian trong Jdbc java >

nhập java. sql. Kết nối;

nhập java. sql. Trình quản lý trình điều khiển;

nhập java. sql. Báo cáo đã chuẩn bị sẵn;

nhập java. sql. Ngoại lệ SQL;

/** Bản quyền (c), AnkitMittal JavaMadeSoEasy. com */

lớp công khai InsertTimeStampJdbcExample {

   công khai tĩnh void chính(Chuỗi. arg) {

          Kết nối con = null;

          PreparedStatement prepStmt = null;

          thử {

                 // đăng ký lớp trình điều khiển Oracle

                 Lớp học. forName("oracle. jdbc. người lái xe. OracleDriver");

                 // nhận kết nối

                 con = DriverManager. getConnection(

                              "jdbc. tiên tri. gầy. @localhost. 1521. orcl", "ankit",

                              "Oracle123");

                 Hệ thống. ra. println("Kết nối thành công. ");

                         prepStmt = con

                              . chuẩn bịStatement("CHÈN vào EMPLOYEE (TÊN, CREATION_DATE) "

                                            + "giá trị (?, ?) " );

                 prepStmt. setString(1, "ankit");

                 prepStmt. setTimestamp(2,

                             mới java. sql. Dấu thời gian(mới java. sử dụng. Ngày tháng(). getTime()));

                 // thực hiện truy vấn chèn

                         int numberOfRowsInserted = prepStmt.executeUpdate();

                 Hệ thống. ra. println("numberOfRowsInserted=" + numberOfRowsInserted);

                 prepStmt. đóng lại();// close PreparedStatement

                 con. đóng lại();// close connection

          } bắt (ClassNotFoundException e) {

                 e. printStackTrace();

          } bắt (SQLException e) {

                 e. printStackTrace();

          }

   }

}

/*ĐẦU RA

Kết nối được thiết lập thành công

numberOfRowsInserted=1

*/


Sử dụng chương trình trên, chúng ta có thể Chèn dấu thời gian vào Jdbc trong java




Hãy thực thi truy vấn Sql để tìm nạp dấu thời gian từ bảng EMPLOYEE trong Oracle >


CHỌN TO_CHAR(CREATION_DATE,'MM/DD/YYYY HH24. MI. SS. FF3') CREATION_DATE  TỪ nhân viên;

Chèn dấu thời gian vào mongodb java



CHỌN CREATION_DATE  TỪ nhân viên;

Chèn dấu thời gian vào mongodb java


Làm cách nào để chuyển đổi NGÀY thành DẤU THỜI GIAN?

CHỌN CAST(CREATION_DATE AS TIMESTAMP) CREATION_DATE  TỪ nhân viên;

Chèn dấu thời gian vào mongodb java


nhãn. Lõi Java JDBC

Làm cách nào để chèn dấu thời gian trong MongoDB?

db. thời gian thử nghiệm. insertOne( { "Tin nhắn". "Đây là mẫu", "Chèn ngày". ISODate("2020-03-02T01. 11. 18. 965Z") } ); Truy vấn trên của chúng tôi sẽ chèn một tài liệu duy nhất vào bộ sưu tập kiểm tra thời gian và ở đây chúng tôi hiện có một thông báo, đó là một cặp khóa-giá trị đơn giản.

Làm cách nào để chèn Ngày và giờ trong MongoDB?

Bạn có thể chỉ định một ngày cụ thể bằng cách chuyển chuỗi ngày theo tiêu chuẩn ISO-8601 với một năm trong phạm vi bao gồm từ 0 đến 9999 cho hàm tạo Date() mới hoặc hàm ISODate() . Các chức năng này chấp nhận các định dạng sau. new Date(". These functions accept the following formats: new Date("") returns the ISODate with the specified date.

MongoDB có hỗ trợ dấu thời gian không?

Đảm bảo rằng tất cả các ứng dụng của bạn tạo và cập nhật dấu thời gian MongoDB sẽ là phần khó nhất của quy trình này; . viết một trường createdAt, hoặc. MongoDB has no automatic timestamp support, so every one of your applications is going to have to make sure they do one of two things when working with the database: write a createdAt field, or ...

Làm cách nào để lưu dấu thời gian của mô hình trong MongoDB?

2 câu trả lời .
Nếu bạn đang sử dụng mongo shell thì new Date() sẽ chèn thời gian hiện tại. db. bộ sưu tập của tôi. chèn ({ 'created_on'. Ngày mới() })
Và nếu bạn muốn sử dụng PHP thô thì - $collection->save(array("created_on" => new MongoDate()));