2016-12-15 5 views
-1
newDate =(newDaysAdded+"/"+month+"/"+year); 
SimpleDateFormat date = new SimpleDateFormat("dd/MM/yyyy"); 
try { 
    Date newDateOne = date.parse(newDate); 

Когда я пытаюсь:Я создал дату, используя SimpleDateFormat, как мне преобразовать в строку?

view.writeToScreen(newDateOne); 

Я получаю ошибку:

Incompatible types: Date cannot be converted to String. 

Вот метод writeToScreen:

void writeToScreen(String s); 

Однако оттуда я не могу превратиться в строка, я пробовал: String test = Date.toString (newDateOne);

Может ли кто-нибудь помочь?

+0

не является 'newDate' уже в нужном вам формате? для чего вам нужен форматтер? – GurV

+0

'writeToScreen' ожидает строку, и вы передаете дату ... – assylias

ответ

0

на основе существующего кода, который вы могли бы использовать:

writeToScreen (date.format(newDateOne)); 
+0

, однако теперь, когда я печатаю ее на экране, я получаю полный текст« Сб Nov 01 00:00:00 GMT 1997 », где, как мне бы хотелось, 01/11/1997. Есть ли способ, которым я могу просто получить доступ к этим частям и просто распечатать их в этом формате? –

+0

Хммм .... Думаю, мне нужно будет увидеть весь код, так как это должно работать, если поместить его в код, который вы опубликовали. –

0

Изменить

view.writeToScreen(newDateOne); 

в

view.writeToScreen(newDateOne.toString()); 
+0

Спасибо, что это сработало, но теперь, когда я печатаю его на экране, я получаю полный «Сб Nov 01 00:00:00 GMT 1997», где, как мне хотелось бы, это 01/11/1997. Есть ли способ, которым я могу просто получить доступ к этим частям и просто распечатать их в этом формате? –

+0

@JakeWells, что ваш вход 'newDate = (newDaysAdded +"/"+ month +"/"+ year);' для этой строки? и что делает 'writeToScreen'? – nullpointer

0

Попробуйте посмотреть на все методы ... Либо в API doc или даже в intellisense в редакторе кода

public static void main(String[] args) { 
     String newDaysAdded = "05"; 
     String month = "04"; 
     String year = "2014"; 
     String newDateString = (newDaysAdded+"/"+month+"/"+year); 

     SimpleDateFormat SDF = new SimpleDateFormat("dd/MM/yyyy"); 
     try { 
      Date newDate = SDF.parse(newDateString); //Takes string and convert it to date 

      //If i understand the question you dont just want to print it as a date... 
      System.out.println(newDate); //Sat Apr 05 00:00:00 CAT 2014 

      //You want to print it as a string inf the format you specified in the SDT 
      System.out.println(SDF.format(newDate)); //Print as in05/04/2014 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
    } 
+0

Я бы хотел его в формате «dd/MM/yyyy», но когда я попытался выполнить date.format (newDate), я получил ошибку: Исключение в потоке «JavaFX Application Thread» java.lang.IllegalArgumentException: невозможно форматировать данный объект как Дата –

+0

Как выглядит ваш код? Помогает, если вы вставляете полный раздел – Chrispie