Insertar fecha en la base de datos Postgres JDBC

Soy nuevo en Java y también en Postgres.

Tengo un pequeño proyecto sobre restaurante y tengo una tabla de struk (ing: bill) como esta:

y tengo un método para insertar información en esa tabla como esta:

public int insertBill(int id_karyawan, String tanggal, String waktu, int total) {
    String SQL = "INSERT INTO struk(kode, id_karyawan, tanggal, waktu, total) VALUES (?,?,?,?,?)";
    int id = 0;

    try(Connection conn = connect(); PreparedStatement pstmt = conn.prepareStatement(SQL, Statement.RETURN_GENERATED_KEYS)) {
        pstmt.setInt(1, 1);
        pstmt.setInt(2, id_karyawan);
        pstmt.setString(3, tanggal);
        pstmt.setString(4, waktu);
        pstmt.setInt(5, total);

        int affectedRows = pstmt.executeUpdate();
        if(affectedRows > 0) {
            try(ResultSet rs = pstmt.getGeneratedKeys()) {
                if(rs.next()) {
                    id = rs.getInt(1);
                }
            } catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
    } catch (SQLException ex) {
        System.out.println(ex.getMessage());
    }
    return id;
}

más tarde, ese método llamará con esto:

int billID = app.insertBill(1, "2017-09-24", "08:00:00", 150000);

El problema es que no tengo idea de la fecha y la hora, ¿qué debo pasar como parámetro? ¿Qué tipo de variable para que la consulta funcione bien? He buscado al respecto, tengo alguna pista para usar string. Yo uso cadena en un método de consulta por ahora. ¿Algún consejo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta