所以我想将startDate和endDate放在我的表中,问题是由于某些原因,这些字段未考虑我的typeConverter或它不好,我不知道。 我可能是什么问题?
我的桌子:
@Entity(tableName = "bidObjects",foreignKeys = @ForeignKey(entity = User.class, parentColumns = "username", childColumns = "highestBidder", onDelete = CASCADE))
public class BidObject implements Parcelable,Serializable {
@PrimaryKey
private int id;
private String name;
private double startingPrice;
private String Description;
private int imageName;
@TypeConverters(DateConvertor.class)
private Date startDate;
@TypeConverters(DateConvertor.class)
private Date endDate;
//The foreign key
private String highestBidder;
private double highestBid;
我的转换器:
public class DateConvertor {
public static DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
@TypeConverter
public static Date fromDate(String value) {
if (value != null) {
try {
return format.parse(value);
} catch (Exception e) {
e.printStackTrace();
}
return null;
} else {
return null;
}
}
}
答案 0 :(得分:0)
这并不是解决问题的确切方法,但是您可以做的一件事情是使用Unix时间,因此您不必担心转换Date
对象。
像这样获取Unix时间:
long unixTime = System.currentTimeMillis() / 1000L;
并存储该值而不是Date
对象。
您可以了解有关Unix时间here的更多信息。