不知道为什么typeConvertor不起作用

时间:2019-12-17 14:55:00

标签: java android

所以我想将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;
    }
  }
}

1 个答案:

答案 0 :(得分:0)

这并不是解决问题的确切方法,但是您可以做的一件事情是使用Unix时间,因此您不必担心转换Date对象。

像这样获取Unix时间:

long unixTime = System.currentTimeMillis() / 1000L;

并存储该值而不是Date对象。

您可以了解有关Unix时间here的更多信息。