Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SimpleDateFormatter.parse đưa ra đầu ra ở định dạng khác với định dạng được chỉ định

Không chuyển ngày dưới dạng chuỗi vào cơ sở dữ liệu MySQL của bạn. Tốt hơn là chuyển các đối tượng ngày tháng vừa dễ dàng hơn vừa an toàn hơn. Đối với một điều, nó giúp bạn giải quyết vấn đề định dạng và mọi vấn đề về định dạng. Tốt nhất, hãy chuyển các phiên bản của một lớp từ java.time , API ngày và giờ của Java hiện đại. Trong trường hợp của bạn, một LocalDateTime sẽ làm.

    String ep ="a1527069600";
    long epoch = Long.parseLong(ep.substring(1));
    Instant inst = Instant.ofEpochSecond(epoch);
    LocalDateTime ldt = inst.atZone(ZoneId.of("Asia/Calcutta")).toLocalDateTime();

    System.out.println(ldt);

    PreparedStatement ps = myDatabaseConnection.prepareStatement(
            "insert into my_table (my_date_time) values (?)");
    ps.setObject(1, ldt);

LocalDateTime thu được là:

Tôi đã đơn giản hóa chuyển đổi của bạn từ chuỗi kỷ nguyên một chút. Sử dụng long nguyên thủy, viết thường chứ không phải là Long sự vật. Tôi đang sử dụng múi giờ của bạn, Châu Á / Calcutta, giả sử rằng các giá trị cơ sở dữ liệu của bạn nằm trong múi giờ này. Các khuyến nghị thông thường là giữ các giá trị cơ sở dữ liệu theo giờ UTC, ít nhất là nếu có bất kỳ khả năng dữ liệu nào sẽ được sử dụng bên ngoài múi giờ của bạn. Nếu bạn muốn điều này, hãy sử dụng chuyển đổi này thay vì chuyển đổi ở trên:

    LocalDateTime ldt = inst.atOffset(ZoneOffset.UTC).toLocalDateTime();

Liên kết: Hướng dẫn Oracle:Ngày giờ giải thích cách sử dụng java.time .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để làm nổi bật những thay đổi / khác biệt trong đoạn văn bản này so với đoạn văn bản kia?

  2. MySQL 8 lựa chọn lồng nhau với số lượng

  3. Làm thế nào để chuyển đổi câu lệnh chuẩn bị này để sử dụng trình giữ chỗ trong Wordpress $ wpdb?

  4. Sequelize:Lỗi:Lỗi:Table1 không được liên kết với Table2

  5. Làm thế nào để kết nối với mysql với laravel?