簡體   English   中英

如何在Java中將datetime轉換為String?

[英]How to convert datetime to String in java?

在使用Facebook api時,我遇到了一個名為start_time的字段,該字段的類型為datetime,我在DTO類中聲明了一個start_time字段作為字符串,而我將json轉換為Java時,我可以獲取start_time並在dto對象中進行填充但是,當我嘗試從DTO對象檢索時,顯示為null。

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

我的DTO課程

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
}

我的樣本json數據

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

當我用Google搜索時,我知道DateTime是屬於joda time api的東西,它究竟是什么? 我是否需要在我的項目中為Joda-Time api包含任何jar文件?

我嘗試創建DateTime dt = new DateTime(); 在我的方法中,它顯示DateTime無法解析為一種類型。

我正在使用Java版本1.7.0_40來支持joda-time。 我嘗試使用toString()方法轉換為字符串,但沒有用。 請幫我如何將DateTime轉換為字符串?

我誤會了嗎?
發生這種情況的唯一原因是因為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)); 

並將其格式化為您的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM