2010-11-12 5 views
9

Czy istnieje metoda w języku Java, której można użyć do przekonwertowania MM/DD/YYYY na DD-MMM-YYYY?Przejście z MM/DD/RRRR do DD-MMM-RRRR w języku Java

Na przykład: 05/01/1999 do 01-MAY-99

Dzięki!

+0

pamiętać, że składnia wzór faktycznie nieważne. To "y" lata i "d" na dzień miesiąca. "Y" nie ma znaczenia, a "D" to dzień roku. Chcesz przekonwertować z 'MM/dd/rrrr' na' dd-MMM-rrrr'. – BalusC

+0

Dzięki. Będąc nowicjuszem w Javie, bardzo pomocne jest wskazanie mi takich rzeczy. –

+0

Powinieneś mieć Locale.English w opcjach: http: //stackoverflow.com/a/2603676/2114308 – Phuong

Odpowiedz

19

Użyj funkcji SimpleDateFormat do przeanalizowania daty, a następnie wydrukuj ją za pomocą SimpleDateFormat z żądanym formatem.

Oto niektóre kodu:

SimpleDateFormat format1 = new SimpleDateFormat("MM/dd/yyyy"); 
    SimpleDateFormat format2 = new SimpleDateFormat("dd-MMM-yy"); 
    Date date = format1.parse("05/01/1999"); 
    System.out.println(format2.format(date)); 

wyjściowa:

01-May-99 
+2

Możesz chcieć dostarczyć 'Locale' do konstruktora SDF, inaczej po prostu przyjmie domyślną lokalizację dla platformy nazwy miesięcy, które mogą nie być tymi, których chcesz użyć. – BalusC

+0

To prawda, możesz także ustawić strefę czasową za pomocą 'format1.setTimeZone (TimeZone.getTimeZone (" GMT "));' –

0
formatter = new SimpleDateFormat("dd-MMM-yy"); 
0

Poniżej powinno działać.

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy"); 
Date oldDate = df.parse(df.format(date)); //this date is your old date object 
1

Spróbuj tego,

Date currDate = new Date(); 
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
String strCurrDate = dateFormat.format(currDate); 
System.out.println("strCurrDate->"+strCurrDate); 
1

Spróbuj

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Set your date format 
     String currentData = sdf.format(new Date()); 
     Toast.makeText(getApplicationContext(), ""+currentData,Toast.LENGTH_SHORT).show();