首页 > 解决方案 > 为什么我得到一个日期而代码显示另一个

问题描述

我在我的移动应用程序中使用改造。要格式化日期,我使用 setDateFormat ("yyyy-MM-DD HH: mm: ss.S"),当我得到 mounth 时,它在代码和屏幕上没有正确显示

我尝试了不同的转换模式,但它们不起作用(MM、mm、MMM、MMMM)

val gson: Gson = GsonBuilder()
            .setDateFormat("yyyy-MM-DD HH:mm:ss.S")
            .setLenient()
            .registerTypeAdapter(TypeOfPoint::class.java, TypeOfPointDeserializer())
            .registerTypeAdapter(TypeOfStatus::class.java,TypeOfStatusDeserializer())
            .create()

我得到 2019-07-05 10: 59: 31.000000 和代码 2019-01-05T10: 59: 31.000 + 0300

标签: androiddatekotlinretrofit2

解决方案


在此函数中,您必须将日期作为字符串传递,它将以 Jan 01,2019 格式返回日期。您可以根据需要更改格式。

public static String formatDate(String date_s) {
    SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    form.setTimeZone(TimeZone.getTimeZone("UTC"));
    Date date = null;
    try {
        date = form.parse(date_s);
    } catch (ParseException e1) {
        e1.printStackTrace();
    }
    SimpleDateFormat form1 = new SimpleDateFormat("MMM dd, yyyy"));
    return form1.format(date);

}

推荐阅读