Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [java] simpleDateFormat

    Salve a tutti gente.
    Sto provando a implementare un metodo che mi visualizzi la data in una forma un pò più carina per l'utente.
    Ho qualche difficoltà a compilarlo a causa di incompatibilità di dati.
    Qualcuno può dare un'occhiata a questo codice:
    codice:
    package manager;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class dateFormatTest {
      
      private Date myDate;
      private String formatDate;
      private SimpleDateFormat df;
      private long longTime;
      private boolean before;
      
      public dateFormatTest(String s) {
        try {
          df = new SimpleDateFormat("dd/MM/yyyy");
        //df.parse(): it parses a string into date object  
          myDate = df.parse(s);
        //getTime: obtains a long value from date. Helps me to convert it in a sql date
          longTime = myDate.getTime();
          before = myDate.before(new Date(0));
          System.out.println("Hai immesso: "+myDate.toString()+" Equivale a: "+longTime+" millisecondi da \"Epoch\" "+" e viene "+(before ? "prima" : "dopo")+" \"Epoch\"");
        } catch (Exception e) {System.out.println("Errore nel parsing della data "+e.toString());}
      }
        	
      public Date getDate(){
      	System.out.println("giving date object from dateFormatTest ");
      	return myDate;
      	}
      	
      public long getLongDate(){
      	System.out.println("giving longdate value from dateObjectTest");
      	return longTime;
      	}
    E questo è il metodo che vorrei richiamare dalla mia JSP
    codice:
      public String getFormatDate(){
      	try {
      		formatDate = df.applyPattern("d EEE, MMM, YYYY").toString();
      		System.out.println("giving FormatDate value from dateObjectTest"+formatDate.toString());
      		return formatDate;
      		} catch (Exception e) {System.out.println("Errore nel formatDate della data "+e.toString());}
      
      	}
    }
    L'errore che mi da il compilatore è questo:
    codice:
    manager\dateFormatTest.java:38: void cannot be dereferenced
                    formatDate = df.applyPattern("d EEE, MMM, YYYY").toString();
                                                ^
    1 error

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Il metodo applyPattern() dell'oggetto SimpleDateFormat non ritorna proprio nulla, quindi non puoi applicare il metodo toString().
    Quello che devi fare tu è creare un SimpleDateFormat passando al costruttore il formato in cui vuoi ottenere la data e poi utilizzare il metodo format() per formattare un oggetto di tipo Date nel formato che hai scelto:
    codice:
    SimpleDateFormat df = new SimpleDateFormat("d EEE, MMM, YYYY");
    Date d = ... // Acquisisci la data in un oggetto Date (anche se è deprecato)
    String miaData = df.format(d);
    Nella stringa miaData otterrai ciò che chiedi.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.