2013-08-19 14 views
0

即時得到包括日期(-/或空間)的格式。例如dd-mm-yyyydd.MMM.yy我如何格式化日期,我從用戶作爲輸入獲得,然後在日曆中找到該日期以找出該日曆中的哪個day_of_month?

dd.MM.yyyy
dd-MM-yy
dd MM yyyy

如何得到這個我的格式dd MM yyyy即使用戶放我必須將其轉換爲4位數字的最後兩位數字?

+0

這是一個類似的問題http://stackoverflow.com/questions/4024544/how-to-parse-dates-in-multiple-formats-using-simpledateformat – BobTheBuilder

回答

0

所以你想:

全部更換/與空間 替換所有 - 與空間 用4位數字的最後一個空格替換後承擔本世紀13 - > 2013

然後使用SimpleDateFormat.parse

0

你可以看看Apache Commons LangDateUtils它允許你使用一系列不同的日期模式解析日期String

這個簡單的使用SimpleDateFormat來做實際的工作,但是當你想要嘗試使用多種格式而不是自行循環時,它會更容易。

一旦你擁有了它回Date值,你可以使用SimpleDateFormat格式化Date只是反正你希望它

0

嘗試這樣的事情。

Scanner sc=new Scanner(System.in); 
    System.out.println("Enter your date: "); 
    String[] format={"dd.MM.yyyy", "dd-MM-yy","dd MM yyyy"}; 
     for (String i : format) 
     { 
      try 
      { 
       Date date=new SimpleDateFormat(i).parse(sc.nextLine()); 
       System.out.println(new SimpleDateFormat("dd MM yyyy").format(date)); 
      } 
      catch (ParseException e) { 

      } 
     } 

在線演示here

您可以添加任何有史以來SimpleDateFormatformatarray。然後這將轉換爲"dd MM yyyy"格式。

+0

我需要更多的幫助我怎麼比較這個與日曆的日期,所以我將能夠得到day_of_week以及我如何計算日曆中的閏年? –

+0

@Ashifurrahman好的,在這個演示中查看我的代碼http://ideone.com/Vvpodq –

相關問題