问题是:我使用的标准从我的数据库中获取“startDate”和“endDate”的最大值。现在我必须找到数据库时间戳中这两个对象之间的区别。计算两个时间戳对象之间的差异java
有谁知道该怎么办?
taskTimes.java
public Object taskTimes() {
Session session = sessionFactory.openSession();
session.beginTransaction();
Criteria criteria = session.createCriteria(Task.class).setProjection(Projections.max("endDate"));
Object avgDate = (Object) criteria.uniqueResult();
Criteria criteria1 = session.createCriteria(Task.class).setProjection(Projections.max("startDate"));
Object avgDate1 = (Object) criteria1.uniqueResult();
System.out.println(avgDate);
System.out.println(avgDate1);
session.close();
return avgDate;
}
Task.java
@Entity
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false)
private int batch;
@Column
private java.sql.Timestamp startDate;
@Column
private java.sql.Timestamp endDate;
@ManyToOne
private Student student;
@ManyToOne
private Job job;
@OneToMany(mappedBy="task")
private List<Result> results;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public Job getJob() {
return job;
}
public void setJob(Job job) {
this.job = job;
}
public List<Result> getResults() {
return results;
}
public void setResults(List<Result> results) {
this.results = results;
}
public Task(Long id, int batch, Timestamp startDate, Timestamp endDate, Student student, Job job,
List<Result> results) {
super();
this.id = id;
this.batch = batch;
this.startDate = startDate;
this.endDate = endDate;
this.student = student;
this.job = job;
this.results = results;
}
public java.sql.Timestamp getStartDate() {
return startDate;
}
public void setStartDate(java.sql.Timestamp startDate) {
this.startDate = startDate;
}
public java.sql.Timestamp getEndDate() {
return endDate;
}
public void setEndDate(java.sql.Timestamp endDate) {
this.endDate = endDate;
}
public Task() {
}
public int getBatch() {
return batch;
}
public void setBatch(int batch) {
this.batch = batch;
}
@Override
public String toString() {
return "Task [id=" + id;
}
'java.sql.Timestamp'继承自'java.util.Date'。计算两个Date对象之间的差异很简单。我建议你回去阅读Javadoc。 –
我无法从时间戳转换为日期 –
您可能无法从时间戳转换为java.util.Date,但应该可以从时间戳转换为java.sql.Date。 –