私は領域データベースを使用しています。私はmodel.Butに格納されている2つの日付を比較する必要がありますが、私は文字列に格納しています。realm androidのクエリの間で日付を比較する方法
エラー:java.lang.IllegalArgumentException:フィールド 'appointmentDate':型が一致しません。 STRINGであり、[INTEGER]であることが必要です。
JSON:[AppointmentBook = [{ID:1}、{patientID:20059}、{appointmentDate:2017年7月13日}、{appointmentCustomerName:nitishのパトラ}、{appointmentCustomerNumber:9382882382}、{appointmentStartTime :18:15}、{appointmentEndTime:19:15}、{理由:SASS}、{状態:ヌル}]]
appoint = realm.where(AppointmentBook.class).between("appointmentDate",2017-07-13, 2017-07-14).findAll();
私は2つの日付を比較することができない文字列として日付を格納していますので。どのようにこれを達成するために "2017-07-13"から "2017-07-13"の間にある日付を取得する。これを達成するためのクエリはありますか
Modelクラス:
public class AppointmentBook extends RealmObject{
@PrimaryKey
public long id;
private long patientID;
private String appointmentDate;
private String appointmentCustomerName;
private String appointmentCustomerNumber;
private String appointmentStartTime;
private String appointmentEndTime;
private String reason;
private String status;
public AppointmentBook(){
}
public AppointmentBook(JsonObject data) throws ParseException {
this.id = data.get("id").getAsLong();
this.patientID = data.get("patientID").getAsInt();
this.appointmentDate = data.get("appointmentDate").getAsString();
this.appointmentCustomerName = data.get("customerName").getAsString();
this.appointmentCustomerNumber = data.get("CustomerNumber").getAsString();
this.appointmentStartTime = data.get("startTime").getAsString();
this.appointmentEndTime = data.get("endTime").getAsString();
this.reason = data.get("reason").getAsString();
this.status = data.get("status").getAsString();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public long getPatientID() {
return patientID;
}
public void setPatientID(long patientID) {
this.patientID = patientID;
}
public String getAppointmentDate() {
return appointmentDate;
}
public void setAppointmentDate(String appointmentDate) {
this.appointmentDate = appointmentDate;
}
public String getAppointmentCustomerName() {
return appointmentCustomerName;
}
public void setAppointmentCustomerName(String appointmentCustomerName) {
this.appointmentCustomerName = appointmentCustomerName;
}
public String getAppointmentCustomerNumber() {
return appointmentCustomerNumber;
}
public void setAppointmentCustomerNumber(String appointmentCustomerNumber) {
this.appointmentCustomerNumber = appointmentCustomerNumber;
}
public String getAppointmentStartTime() {
return appointmentStartTime;
}
public void setAppointmentStartTime(String appointmentStartTime) {
this.appointmentStartTime = appointmentStartTime;
}
public String getAppointmentEndTime() {
return appointmentEndTime;
}
public void setAppointmentEndTime(String appointmentEndTime) {
this.appointmentEndTime = appointmentEndTime;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "AppointmentBook{" +
"id=" + id +
", patientID=" + patientID +
", appointmentDate='" + appointmentDate + '\'' +
", appointmentCustomerName='" + appointmentCustomerName + '\'' +
", appointmentCustomerNumber='" + appointmentCustomerNumber + '\'' +
", appointmentStartTime='" + appointmentStartTime + '\'' +
", appointmentEndTime='" + appointmentEndTime + '\'' +
", reason='" + reason + '\'' +
", status='" + status + '\'' +
'}';
}
}
これを文字列で実現する方法。クエリーはありますか?またはチェックする前にキャストすることができますか?私が知る限りでは、あなたは@abhinaygの – winchester100
です。それは単なる文字列です。日付が必要な場合は、日付を使用する必要があります。 JSONを日付に直接デシリアライズすることができます。 Gsonを使用している場合は、setDateFormat – andrei
で日付形式を指定することができると思います。これまでのJSONのデシリアライズ方法この – winchester100