如何使用房间更改日期格式?

时间:2018-12-29 12:05:53

标签: android

我正在使用从Firebase Realtime数据库检索其数据的Room,我有一个“ requests”节点,其中包含日期节点,代码工作正常,但我想将日期格式更改为“ dd-mm-yyyy” 我怎样才能做到这一点 ?

public class DateTypeConverter {
    @TypeConverter
    public static Date toDate(Long value) {
        if(null == value){
         return null;
        }else {
            Date date = new Date(value);
            return date;
        }
    }

    @TypeConverter
    public static Long toLong(Date value) {
        return value == null ? null : value.getTime();
    }
}

编辑: 我找到了解决方法here

  

我认为将格式放入资源中是最好的方法

1 个答案:

答案 0 :(得分:0)

  1. long数据类型存储空间并以Date数据类型返回日期。

  2. 现在要显示此日期,您需要将其转换为“ dd-mm-yyyy”格式的String

您可以使用Java中的SimpleDateFormat类来实现此目的。

public static String formatDate(Date date) {
        SimpleDateFormat dateFormat;
        // Apply desired format here
        dateFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);

        Calendar c = Calendar.getInstance();
        dateFormat.setTimeZone(TimeZone.getDefault());
        c.setTimeInMillis(date.getTime());
        return dateFormat.format(c.getTimeInMillis());
    }

现在已注释您正在使用数据绑定,您可以在为TextView设置文本时直接调用此静态函数

希望这对您有帮助!