2013-11-23 114 views

回答

0

你可以這樣做。

import java.text.SimpleDateFormat; 
import java.util.Date; 

public class Test003 { 
    public static void main(String[] args) throws Exception { 
     SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd"); 
     SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); 
     String s = "20121224"; 
     Date dt = sdf1.parse(s); 
     System.out.println(sdf2.format(dt)); 

    } 
} 
0
private static final String DATE_FORMAT = "yyyy/MM/dd"; 

private static final SimpleDateFormat dateFormat = new 
    SimpleDateFormat(DATE_FORMAT); 

public static long dateAsLong(Calendar cal){ 
    return Long.parseLong(dateFormat.format(cal.getTime())); 
} 

public static Calendar dateAsCalendar(long l){ 
    try { 
       Calendar c = Calendar.getInstance(); 
       c.setTime(dateFormat.parse(String.valueOf(l))); 
       return c; 

      } catch (ParseException e) { 
       return null; 
      } 
} 

希望這有助於。

0

在Java中,String是不可變的,所以您不能修改您從數據庫中取回的String;你必須做一個新的。最簡單的方法,如果你的日期是保證在YYYYMMDD格式(即你沒有保存一月爲「01」),只是想和你另一String另一端出來:

StringBuilder date = new StringBuilder(); 
date.append(dateStr.substring(0,4)); 
date.append("/"); 
date.append(dateStr.substring(4,6)); 
date.append("/"); 
date.append(dateStr.substring(6,8)); 
// use date.toString() wherever you need it 

然而,我建議您調查how SQLite recommends you store dates。這些是常見的格式,並且允許您以更常規和便捷的方式使用Java內置的DateDateFormat類。

我看到有人打我提交一個答案,而我輸入這個......這個建議將會起作用,但它會讓你構建2 SimpleDateFormat對象,這不一定是最有效的方法。取決於你這樣做的頻率。

0

可以使用strftime功能

語法:

strftime(timestring, modifiers...) 

此方法返回指定

Example: 

    SELECT strftime('%d-%m-%Y') from TABLE_NAME; 

Output: 

24-11-2013 

你可以找到所有的格式化根據格式字符串格式化日期here

相關問題