如何只获取没有时间的日期类型?

How to get only date type without time?

我想在 Room 数据库中使用 Date 类型作为 Id,这样做的主要原因是能够检查这个日期是否是今天。任何建议表示赞赏

@Entity
data class DailyCount(@PrimaryKey
                  var date:DateTime,// JodaTime
                  var summ: MutableLiveData<Double>? = MutableLiveData())

我想这样查询:

@Query("update DailyCount set summ = :sum where date = :dailyCount") //update if date is today
fun apdateCash(dailyCount: DateTime, sum: Double)

只需使用 SimpleDateFormatter

String jsonDateStr = "03-09-2019 05:45:10"
SimpleDateFormat fmt = new SimpleDateFormat("MM-dd-yyyy");

try {
    return fmt.parse(jsonDateStr);
} catch(ParseException pe) {
    return //generate different unique ID like GUID random maybe;    
}

现在,如果您首先有一个日期对象,并且需要将其归零,您可以这样做:

Date dateObject = Date("03-09-2019 05:45:10") //pseudo for visual
SimpleDateFormat fmt = new SimpleDateFormat("MM-dd-yyyy");

try {
     String dateWithZeroedTime = fmt.format(dateObject)
     return fmt.parse(dateWithZeroedTime) //"03-09-2019 00:00:00"   
} catch(ParseException pe) {
    return //generate different unique ID like GUID random maybe;    
}

编码愉快!