我想以 YYYY-MM-DD 这样的格式获取当前日期,以便我可以将其存储在数据库中,以后再从数据库中读取,并使用诸如日期之间的差等日期。 / p>
我尝试使用日历实例获取当前日期。
val calender=Calendar.getInstance()
val date=DateFormat.getDateInstance().format(calender.time)
但是日历实例正在返回日历类型数据,我想获取日期类型(因为我有一个用于日期类型数据的类型转换器)
typeconverter
class Converters {
@TypeConverter
fun fromTimestamp(value: Long?): Date? {
return value?.let { Date(it) }
}
@TypeConverter
fun dateToTimestamp(date: Date?): Long? {
return date?.time?.toLong()
}
}
答案 0 :(得分:0)
如果您要使用 YYYY-MM-DD 格式的日期,
比您不需要Calendar
或Date
的实例。
只需像这样使用SimpleDateFormat
:
class Converters {
@TypeConverter
fun fromTimestamp(timeStamp: Long?): String? {
return timeStamp?.let { FORMATTER.format(timeStamp) }
}
@TypeConverter
fun dateToTimestamp(timeStamp: String?): Long? {
return timeStamp?.let { FORMATTER.parse(it)?.time }
}
companion object{
val FORMATTER = SimpleDateFormat("yyy-MM-dd")
}
}
但是如果您出于任何原因想要日历实例,这可能会很方便(尽管我建议您使用上述(基于时间戳/字符串的)方法>
class Converters {
@TypeConverter
fun fromTimestamp(value: Long?): Calendar? {
return value?.let { Calendar.getInstance().apply { timeInMillis = it } }
}
@TypeConverter
fun dateToTimestamp(calendar: Calendar?): Long? {
return calendar?.timeInMillis
}
}