java - 不知道为什么 typeConvertor 不起作用
问题描述
所以我想在我的表中放入一个 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;
}
}
}
解决方案
这不是您问题的确切解决方案,但您可以做的一件事是使用 Unix 时间,这样您就不必担心转换Date
对象。
像这样获取unix时间:
long unixTime = System.currentTimeMillis() / 1000L;
并存储该值而不是Date
对象。
您可以在此处阅读有关 unix 时间的更多信息。
推荐阅读
- javascript - 警告:无法在未安装的组件上调用 setState(或 forceUpdate)
- sql - 从多个连接层次结构中的同一个表中获取数据
- angular - ./~/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0 中的错误
- groovy - SoapUI groovy 脚本在不应该的地方显示弹出窗口
- algorithm - 将数据嵌入到 CRC 覆盖的二进制文件中,影响?
- python - gdal使用python翻译比例并保存为jpg
- java - 包含 hadoop/*-common.jar 仍然得到“java.lang.ClassNotFoundException:org.apache.hadoop.conf.Configuration”
- ios - 我想从我的 iPhone 或 iPad 连接到任何非 iOS Wifi-Direct 启用的设备。可能吗?
- java - 使用 WSIL 文件读取 Java XML
- sql-server - 数据库“master”中的 CREATE DATABASE 权限被拒绝。Sql 服务器