如何在java中将日期时间转换为字符串



在facebook api上工作时,我遇到了一个名为start_time的字段是datetime类型,我在我的DTO类中声明了一个start_time字段作为字符串,而我正在将json转换为java,我可以获得start_time,我填充在我的DTO对象中,但当我尝试从DTO对象检索时,它显示我为空。

DataDTO data  = new DataDTO();
String start_time = item.getString("start_time").toString();    
data.setStart_time(start_time);
System.out.println(start_time )   // 2016-03-12T22:00:00-0300
System.out.println(data.getStart_time()); // getting null

my DTO class

public class DataDTO implements Serializable{
    private String id;
    private String name;
    private String start_time;
    private String timezone;
    private String location;    
    private String end_time;
    //getters and setters
}

my sample json data

{  
      "id":"1443832172536969",
      "timezone":"America/New_York",
      "location":"Atlanta, GA, United States",
      "name":"Atlanta Dream Tour 2015",
      "start_time":"2016-03-12T22:00:00-0300"
   }

当我谷歌我来知道,DateTime是属于joda时间api到底是什么?我需要在我的joda-time api项目中包含任何jar文件吗?

我尝试创建DateTime dt = new DateTime();在我的方法中,它显示的DateTime不能解析为一个类型。

我正在使用java版本1.7.0_40,这支持joda-time。我尝试使用toString()方法转换为字符串,但没有使用。请帮助我如何将日期时间转换为字符串?

我误解了什么吗?
可能发生这种情况的唯一原因是data.setStart_time(start_time);不工作或data.getStart_time()没有正确实现。
DateTime和String之间不需要转换

如果你只是想将开始日期更改为字符串,那么你可以使用

start_time_string = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS",java.util.Locale.getDefault()).parse(start_time);

您正在使用Maven吗?您是否在您的pom.xml中添加了joda-time依赖?如果你不这样做,你应该添加这样的内容:

<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.8</version>
</dependency>

更多信息可以在这里找到。希望能有所帮助!

尝试日历:

Calendar c = Calendar.getInstance();
        System.out.println("Seconds : "+c.get(Calendar.SECOND));
        System.out.println("Minute : "+c.get(Calendar.MINUTE));
        System.out.println("Hour of day : "+c.get(Calendar.HOUR_OF_DAY));
        System.out.println("Date : "+c.get(Calendar.DATE));
        System.out.println("Day : "+c.get(Calendar.DAY_OF_WEEK));
        System.out.println("Month : "+c.get(Calendar.MONTH));
        System.out.println("Year : "+c.get(Calendar.YEAR)); 

并按您的要求格式化。

相关内容

  • 没有找到相关文章

最新更新