2015-08-25 49 views
0

以下代碼在此以「日期,日期,月份,年份」的形式返回日期。
當前輸入的日期將返回爲2013年12月28日星期六。但是,我想將其標記爲4個部分,並從4個單獨行開始,分別從月份,日期,年份和日期開始。什麼是最好的方法來做到這一點?如何使用標記器寫日期?

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

class Day{ 

    public static void main(String[] args){ 

    SimpleDateFormat newDateFormat = new SimpleDateFormat("dd/MM/yyyy"); 

    try { 
     Date myDate = newDateFormat.parse("28/12/2013"); 
     newDateFormat.applyPattern("EEEE dd MMM yyyy"); 
     String isDate = newDateFormat.format(myDate); 
     System.out.println(isDate); 
    } catch (Exception e) { 
     System.out.println("Error. Date is in the wrong format."); 
    } 
    } 
} 
+0

使用'java.util.Calandar()' – Jens

回答

3

使用split()方法:

String []myformat=isDate.split(" "); 
System.out.println(myformat[2]); 
System.out.println(myformat[1]); 
System.out.println(myformat[3]); 
System.out.println(myformat[0]); 

使用順序任何順序你要。

1

我要來標記這一點,打印4份上了4條獨立的 線,從本月開始,然後日期,那麼一年,然後一天。什麼是 這樣做的最好方法?

你有DateObject,你應該更好地利用Calendar獲得具體細節做到不格式化你的日期。

與格式和分裂這個問題是,月,日和年的不同格式的位置將在String不同。

該不會在下面的代碼的情況下,

Date date = new Date(); 
Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 

String month = cal.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US); 
int date_ = cal.get(Calendar.DAY_OF_MONTH); 
int year = cal.get(Calendar.YEAR); 
String day = cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.US); 

System.out.println(day); 
System.out.println(date_); 
System.out.println(month); 
System.out.println(year); 

輸出

Tue 
25 
Aug 
2015 
1

我認爲這可以解決你的問題:

StringTokenizer tokenizer = new StringTokenizer(isDate, " "); 
    Map<String, String> dateParts = new HashMap<String, String>(); 

    while(tokenizer.hasMoreElements()) { 
     dateParts.put("dayOfWeek", (String)tokenizer.nextElement()); 
     dateParts.put("dayNumber", (String)tokenizer.nextElement()); 
     dateParts.put("month", (String)tokenizer.nextElement()); 
     dateParts.put("year", (String)tokenizer.nextElement()); 
    } 

    System.out.println("Month: "+dateParts.get("month")); 
    System.out.println("Day of week: "+dateParts.get("dayOfWeek")); 
    System.out.println("Date: "+dateParts.get("dayNumber")); 
    System.out.println("Year: "+dateParts.get("year")); 
+0

魯斯塔姆的回答是更實用,更容易。但是,這演示瞭如何使用StringTokenizer來解決您的問題。也許你會發現它在未來很有用。 – drgPP

1

使用下面的代碼

 Calendar cal = Calendar.getInstance(); 
     cal.setTime(date); 
     System.out.println(cal.get(Calendar.YEAR)); 
     System.out.println(cal.get(Calendar.MONTH)); 
     System.out.println(cal.get(Calendar.DAY_OF_MONTH)); 
相關問題