java - 没有自定义类的改造日期解析

标签 java android gson retrofit

在应用程序中,我使用 Retrofit 来使用 api 数据。作为转换器,我使用 Gson

new GsonBuilder()
.setDateFormat("yyyy-MM-dd")
.create();

我从 api 获取如下所示的 Date 类型。但我无法将其转换为 java.util.Date 对象。

{
   "date":{
      "year":2018,
      "month":2,
      "day":11
   },
   "time":{
      "hour":22,
      "minute":40,
      "second":0,
      "nano":0
   }
}

为了获取这种类型的日期,我创建了名为 CustomDate、CustomTime、CustomDateTime 的新类。

自定义日期

public class CustomDate implements Serializable{
    private int year;
    private int month;
    private int day;

自定义时间

public class CustomTime implements Serializable {
    private int hour;
    private int minute;
    private int second;
    private int nano;

自定义日期时间

public class CustomDateTime implements Serializable {

    private CustomDate date;
    private CustomTime time;

我的问题是如何在没有上述自定义类的情况下转换使用的数据。我真正想要的是日期格式化程序。我应该放置什么 .setDateFormat("") 来处理日期转换。

最佳答案

如果你想从 gson 设置日期和时间,请尝试这样

 Date date = new Date();
 Calendar calendar = Calendar.getInstance();
 calendar.set(Calendar.DAY_OF_MONTH, CustomDate.date);// your date object.value
 calendar.set(Calendar.YEAR, CustomDate.year); //your date object.value
 calendar.set(Calendar.MONTH, CustomDate.month); //your date object.value
 calendar.set(Calendar.HOUR_OF_DAY, CustomTime.hour); //your time object.value
 calendar.set(Calendar.MINUTE, CustomTime.minute);//your time object.value
 calendar.set(Calendar.SECOND, CustomTime.second);//your time object.value
 System.out.println(calendar.getTime());

关于java - 没有自定义类的改造日期解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48280748/

相关文章:

Java优先级队列实现——内存局部性

java - 为什么需要强制转换为 (LayoutManager) 来设置布局?

java - Android:在 ScrollView 中膨胀线性 View

android - 返回到 Android 中 onBackPressed 上的上一个 fragment

java - 使用 GSON 在 Java 中打开 .txt 文件

java - 在android中如何访问从Api返回的Gson对象而不返回空指针异常?

java - PowerMockito 与 TestNG 和 Mockito 框架

java - 如何使用java将相机捕获的图像添加到Android中的imageviewer中?我尝试过以下代码

安卓 : java. lang.OutOfMemoryError : Failed to allocate with free bytes and 70MB until OOM when using gson. toJson()

java - 如何制作Spring Boot多模块项目的单个war文件