2015-05-28 71 views
0

我有呼叫服務器,返回int的createAt,我想轉換爲日期。android convert「createAt」date

@JsonProperty(FoursquareWebService.WS_API_JSON_FIELD_CREATEDAT) 
    public int getCreatedAt() { 
     return this.createdAt; 
    } 

你能幫助我嗎?

SimpleDateFormat format = new SimpleDateFormat("MMM d, yyyy");  

      String date = format.format(new Date(item.getCreatedAt())); 
      Log.e(">>>>>>>>>>CreateAt", 
        "" + item.getCreatedAt()); 
      Log.e(">>>>>>>>>>", 
        "" + date); 

結果:

05-28 10:22:01.829 10593-10593/com.cc E/>>>>>>>>>>CreateAt﹕ 1363880768 
05-28 10:22:01.829 10593-10593/com.cc E/>>>>>>>>>>﹕ Jan 16, 1970 

它是正確的:2012年10月3日

+0

要轉換什麼正確的結果? –

+0

但是你已經在轉換日期。有什麼問題? –

+0

結果不正確。 :( – QuestionAndroid

回答

1

首先,創建一個GETDATE()方法

private String getDate(long timeStamp){ 

    try{ 
     SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy"); 
     Date netDate = (new Date(timeStamp)); 
     return sdf.format(netDate); 
    } 
    catch(Exception ex){ 
     return "xx"; 
    } 
} 

此方法將接受一個長期爭論。在使用此方法之前將您的日期轉換爲很長時間。

int dateFromJson = item.getCreatedAt(); 
    String s = Integer.toString(dateFromJson); 
    // Convert to milliseconds 
    long timestamp = Long.parseLong(s) * 1000; 
    Log.d("DATE", getDate(timestamp)); 

這使你的日期03月21日,2013年它是根據here

+0

哦,謝謝你,對。 – QuestionAndroid

+0

不客氣。 –

1

嘗試將字符串轉換你成爲日期是這樣的:

String dtStart = item.getCreatedAt(); 
SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm:ss.SSS"); //this is the format you become your date in 
try { 
    Date date = format.parse(dtStart); 
    System.out.println(date); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

編輯:將毫秒轉換爲日期:

public static String getDate(long milliSeconds, String dateFormat){ 
    SimpleDateFormat formatter = new SimpleDateFormat(dateFormat); 

    // Create a calendar object that will convert the date and time value in milliseconds to date. 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(milliSeconds); 
    return formatter.format(calendar.getTime()); 
} 

,然後你可以這樣調用例如方法:

System.out.println(getDate(item.getCreatedAt(), "MMM d, yyyy")); 
+0

對不起,但調試:W/System.err:java.text.ParseException:無法解析日期:「1334766899」(在偏移量10) – QuestionAndroid

+0

ops,我的失敗 - 我認爲你的日期是格式在開始 - 看看我編輯的帖子 –

+0

結果:I/System.out:1970年1月16日 但結果正確:2012年10月3日。 你能幫我嗎? – QuestionAndroid