2015-10-07 165 views
1

我从字符串格式的JSON响应中获取日期,但现在我想将该日期转换为日期格式。我如何将这个strActiondate:= 9/28/2015 6:52:41 PM转换成日期,以便我可以插入Sq-lite数据库。Android将字符串转换为日期

我已经尝试这样

strActiondate = jobjVessels.getString("actionDate");     

Log.e("strActiondate ", " = " + strActiondate); 
try{ 
    DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
    Date netDate = (new Date(Long.parseLong(strActiondate))); 
    Log.e("netDate "," = "+netDate); 

} 
catch(Exception ex){ 
    ex.printStackTrace(); 
} 

我想在相同的格式日期= 9/28/2015 6:52:41 PM

回答

0

使用此代码

strActiondate = jobjVessels.getString("actionDate"); 

Log.e("strActiondate ", " = " + strActiondate); 
try{ 
    DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a"); 
    Date netDate = sdf.parse(strActiondate); 
    Log.e("netDate "," = "+netDate); 
} 
catch(Exception ex){ 
    ex.printStackTrace(); 
} 
1

DateFormatMM/dd/yyyy,是不适用于此日期: 9/28/2015 6:52:41 PM

你需要这个字符串相匹配的良好SimpleDateFormat

a Am/pm marker  Text PM 
H Hour in day (0-23) Number 0 
m Minute in hour  Number 30 
s Second in minute Number 55 

所以这个:

String strActiondate = "9/28/2015 6:52:41 PM"; 
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a"); 
Date netDate = sdf.parse(strActiondate); 
System.out.println(netDate); 

将输出:

Mon Sep 28 06:52:41 CEST 2015 

在您的代码:

try{ 
    DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a"); 
    Date netDate = sdf.parse(strActiondate);  
    Log.d("netDate "," = "+netDate); // log.e is an error... so better d or i 
}