2016-12-16 92 views
-1

下面是我用來將天數添加到現有日期的代碼..它給了我字符串輸出,並且我希望將它再次轉換爲日期格式。 。我嘗試了格式化,但它給出了輸出 - >將字符串中的日期轉換爲日期類型的問題

Date date = sdf.parse(dt); (日期) - 給我 - 星期一05月05日00:00:00 PDT 2008 但我想它作爲YYYY-MM/DD

sdf.format(date) - Gives me 2008-05- 05我正在尋找它,但它是一個字符串對象...但我希望將其轉換爲DATE類型

String dt = "2008-01-01"; // Start date 
    System.out.println("start date "+dt); 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    Calendar c = Calendar.getInstance(); 
    c.setTime(sdf.parse(dt)); 
    c.add(Calendar.DATE, 125); // number of days to add 
    dt = sdf.format(c.getTime()); 
    System.out.println("c.getTime() "+c.getTime()); 
    System.out.println("end date "+dt); 

    Date date = sdf.parse(dt); 
    System.out.println("last but one date in DATE form -->" +date); 
    System.out.println("last formatted date in string form "+sdf.format(date)); 
+0

'java.util.Date'沒有可以覆蓋的格式。對於你想要的輸出,''System.out.println(「last but one date - >」+ sdf.format(date));' –

+0

@ElliottFrisch OP剛剛從字符串變量'dt'解析了'date'。他爲什麼要將其格式化爲一個字符串呢? – GurV

+0

@GurwinderSingh OP期待'date'保持格式; *我已經嘗試格式化它,但它輸出:「最後只有一個日期 - > 2008年5月5日星期一00:00:00 PDT」;我想用yyyy-MM-dd格式*。或者我解釋這個問題。 –

回答

0

您創建了正確的格式。 SimpleDateFormat sdf = new SimpleDateFormat(「yyyy-MM-dd」);

但您使用不正確。你應該使用 sdf.format(your_unformated_date);

+0

已經在最後一次sysout中做到了這一點..在我的帖子中我錯過了......現在我添加了它.. – javalearner

0

這裏是一個示例代碼,將日期轉換從字符串到使用的SimpleDateFormat類Date類型:

public static void convert() 
{ 
    String str="10:25:35"; 
    SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss"); 
    System.out.println(sdf.format(str)); 
} 
相關問題