转换特定日期时间格式的时间戳值

问题描述:

我有一个问题,我有一个来自JSON解析的时间戳值,我转换为期望的日期时间格式timastamp,所有工作正常,但月总是返回1在任何情况下。意思是如果timestamp包含aug月份,但它在任何月份只返回1。我不知道如何解决这个问题。请为我推荐相同的解决方案。转换特定日期时间格式的时间戳值

在此先感谢。

代码:

public String create_datestring(String timestring){ 
     try{ 
       final Calendar cal = Calendar.getInstance(); 
       cal.setTimeInMillis(Long.parseLong(timestring)); 
       timestring = String.valueOf(cal.get(Calendar.MONTH)+1) + "/" +String.valueOf(cal.get(Calendar.DAY_OF_MONTH)) + "/" + String.valueOf(cal.get(Calendar.YEAR)); 
     }catch(NumberFormatException e){ 
      timestring = "9/23/2011";--->timestring always returns 1 for month. 
     } 
+0

你在做什么?你只需要以你想要的格式解析timeString。使用SimpleDateFormat类。 –

+0

的意思是?请解释你的答案。 –

+0

只需检查此链接:http://stackoverflow.com/q/3778202/379693 –

private String getDate(String timeStampStr){ 

    try{ 
     DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
     Date netDate = (new Date(Long.parseLong(timeStampStr))); 
     return sdf.format(netDate); 
    } 
    catch(Exception ex){ 
     return dateInStr; 
    } 
} 

试试这个它可以给你满意的输出。

String DATE_FORMAT="hh:mm aa dd MMMM yyyy"; 
    @SuppressLint("SimpleDateFormat") 
     private String getDate(long time) { 
      return new SimpleDateFormat(DATE_FORMAT).format(time * 1000); 
     }