2013-09-20 3 views
0

Что проблема в моем коде, где метод всегда возвращает текущую датумоя функция всегда возвращает текущую дату только

Я просто хочу, чтобы изменить формат даты

ли я что-то пропустил?

... 
String mydate; 

mydate=ConvertToDate("2013/09/25"); 



    private String ConvertToDate(String dateString){ 
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
     Date convertedDate = new Date(); 
     try { 
      convertedDate = dateFormat.parse(dateString); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     String newdate; 
     newdate = dateFormat.format(convertedDate); 
     return newdate; 
    } 

ответ

2

Приведенный выше код с бросками изменения ParseException к этому:

private static String ConvertToDate(String dateString){ 
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); 
     Date convertedDate = new Date(); 
     try { 
      convertedDate = dateFormat.parse(dateString); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     String newdate; 
     SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd"); 

     newdate = dateFormat1.format(convertedDate); 
     return newdate; 
    } 
+0

эта работа для меня thanx –

0

Вы выбрали неправильный шаблон. Ваша дата - 2013/09/25, поэтому ваш шаблон должен быть yyyy/MM/dd.

В вашем коде есть исключение, и перед блоком catch catch вы инициализировали свою дату новой Date(). поэтому после исключения переменная convertDate показывает текущую дату.

Вы должны изменить

new SimpleDateFormat("yyyy-MM-dd") 

К

new SimpleDateFormat("yyyy/MM/dd") 

Ваш ответ на комментарий. Я пишу здесь для вас.

private static String ConvertToDate(String dateString){ 
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
     SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy/MM/dd"); 
     Date convertedDate = new Date(); 
     try { 
      convertedDate = dateFormat.parse(dateString); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     String newdate; 
     newdate = dateFormat2.format(convertedDate); 
     return newdate; 
    } 
} 
+0

нет я хочу изменить формат даты «2013/09/25» в «2013-09-25» –

+0

это вы два раза должны преобразовать дату. private static String ConvertToDate (String dateString) { SimpleDateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd"); SimpleDateFormat dateFormat2 = новый SimpleDateFormat ("yyyy/MM/dd"); Дата convertDate = new Date(); try { convertDate = dateFormat.parse (dateString); } catch (ParseException e) { // TODO Автоматически созданный блок catch e.printStackTrace(); } String newdate; newdate = dateFormat2.format (convertDate); return newdate; } } – Zapateus

+0

Мне просто нужна функция, которая принимает дату ввода, подобную этому формату «2013/09/25», и возвращает дату m как этот формат «2013-09-25» –

0
// Convert Date formate function 
    public static String converDateFormate(String dateString) throws ParseException { 
     SimpleDateFormat sdf = new SimpleDateFormat("YYYY/mm/dd"); 
     Date testDate = null; 
     testDate = sdf.parse(dateString); 
     SimpleDateFormat formatter = new SimpleDateFormat("YYYY-mm-dd"); 
     String newFormat = formatter.format(testDate); 
     System.out.println("" + newFormat); 
     return newFormat; 
    } 

использовать это:

converDateFormate("2013/12/20"); 
+0

нет, я просто хочу, чтобы функция вводила дату ввода в этом формате ConvertToDate ("2013/09/25"); и вернуть мою дату только в этом формате «2013-09-25» –

+0

@smart guy..please chekc мои отредактированные ans – dipali

0

Используйте applyPattern, вот и все

String OLD_FORMAT = "yyyy/MM/dd"; 
    String NEW_FORMAT = "yyyy-MM-dd"; 


    String oldDateStr = "2013/09/25"; 
    String newDateStr; 

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(OLD_FORMAT); 
    Date date = simpleDateFormat.parse(oldDateStr); 
    simpleDateFormat.applyPattern(NEW_FORMAT); 
    newDateStr = simpleDateFormat.format(date); 

    System.out.println(newDateStr); 
Не

Выход:

2013-09-25 
Смежные вопросы