Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (java) Formattare una data da sql a string

    Volevo convertire una data sql in formato stringa
    ho utilizzato il seguente metodo
    String date = DateFormat.getDateInstance(DateFormat.SHORT).forma t(dateSql);

    però mette la data nel formato
    gg/mm/aa
    mi servirebbe nel formato
    gg/mm/aaaa

    come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    new SimpleDateFormat("dd/MM/yyyy").format(datasql);

    nota che al posto degli slash puoi mettere anche altri simboli e lui usa quelli per separare giorno mese e anno.
    La M del mese deve essere maiuscola altrimenti metti i minuti.

    Ciao

  3. #3
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    io per tutte le operazioni con le date uso questa classettina fatta da me...

    codice:
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.StringTokenizer;
    import java.util.Calendar;
    import java.util.TimeZone;
    
    
    
    public class DateHelper{
    	
    	// DEFINISCO PROPRIETA'
    	private static String format = "dd/MM/yyyy HH:mm:ss";
    	private static String simpleFormat = "dd/MM/yyyy";
    	private static String bakFormat = "yyyy/MM/dd HH:mm:ss";
    
    
    	// CONVERSIONE FORMATO DATA --> STRINGA
    	public String dateToString(Date date, String format) {
    		SimpleDateFormat formatter = new SimpleDateFormat(format);
    		return formatter.format(date);
    	}
    
    	// CONVERSIONE FORMATO STRINGA --> DATA
    	public Date stringToDate(String date, String format) {
    		SimpleDateFormat formatter = new SimpleDateFormat(format);
    		Date dataConvertita = null;
    		try {
    			dataConvertita = formatter.parse(date);
    		}
    		catch (ParseException e) {
    			System.out.println("ERRORE stringToDate");
    		}
    		return dataConvertita;
    	}
    		
    	// FUNZIONE PER CONVERSIONE DELLA DATA ( non usata )
    	public String usrToDbf(String dataUsr, String divisore){
    		int i;
    		StringTokenizer st = new StringTokenizer(dataUsr,divisore);
    		String [] stringheSplittate = new String[st.countTokens()];
    		i = 0;
    		while (st.hasMoreTokens()) {
    		  stringheSplittate[i] = st.nextToken();
    			i++;
    		}		
    		if (stringheSplittate[0].length() == 1){
    			stringheSplittate[0] = "0" + stringheSplittate[0];
    		}	
    		if (stringheSplittate[1].length() == 1){
    			stringheSplittate[1] = "0" + stringheSplittate[1];
    		}	
    		String giorno = stringheSplittate[0];
    		String mese = stringheSplittate[1];
    		String anno = stringheSplittate[2];
    		return anno+mese+giorno;			
    	}
    		
    	// FUNZIONE PER LA CONVERSIONE DELLA DATA	
    	public String formatDate(String date, String from, String to) { 
    		try{
    			SimpleDateFormat sdf = new SimpleDateFormat(from); 
    			Date d = sdf.parse(date); 
    			sdf = new SimpleDateFormat(to); 
    			return sdf.format(d); 
    		}catch(Exception e){
    			return "";
    		}
    	} 
    	
    	// FUNZIONE PER CALCOLO DIFFERENZA TRA DUE DATE
    	public int giorniDifferenza(String sdate1, String sdate2, String fmt, TimeZone tz){
    		SimpleDateFormat df = new SimpleDateFormat(fmt);
    		Date date1  = null;
    		Date date2  = null;
    		try {
    			date1 = df.parse(sdate1); 
    			date2 = df.parse(sdate2); 
    		}catch (ParseException pe){
    			pe.printStackTrace();
    		}
    		Calendar cal1 = null; 
    		Calendar cal2 = null;
    		if (tz == null){
    			cal1=Calendar.getInstance(); 
    			cal2=Calendar.getInstance(); 
    		}else{
    			cal1=Calendar.getInstance(tz); 
    			cal2=Calendar.getInstance(tz); 
    		}
    		// different date might have different offset
    		cal1.setTime(date1);          
    		long ldate1 = date1.getTime() + cal1.get(Calendar.ZONE_OFFSET) + cal1.get(Calendar.DST_OFFSET);
    		cal2.setTime(date2);
    		long ldate2 = date2.getTime() + cal2.get(Calendar.ZONE_OFFSET) + cal2.get(Calendar.DST_OFFSET);
    		// Use integer calculation, truncate the decimals
    		int hr1   = (int)(ldate1/3600000); //60*60*1000
    		int hr2   = (int)(ldate2/3600000);
    		int days1 = (int)hr1/24;
    		int days2 = (int)hr2/24;
    		int dateDiff  = days2 - days1;
    		int weekOffset = (cal2.get(Calendar.DAY_OF_WEEK) - cal1.get(Calendar.DAY_OF_WEEK))<0 ? 1 : 0;
    		int weekDiff  = dateDiff/7 + weekOffset; 
    		int yearDiff  = cal2.get(Calendar.YEAR) - cal1.get(Calendar.YEAR); 
    		int monthDiff = yearDiff * 12 + cal2.get(Calendar.MONTH) - cal1.get(Calendar.MONTH);
    
    		// RITORNA DIFFERENZA DATE
    		return dateDiff;
    	}
    	
    
    
    	// FUNZIONE PER AGGIUNGERE / TOGLIERE DEI GIORNI AD UNA DATA 
    	public String addDay(String date,int dayToAdd){
    		
    		String dataNew = "";
    		String DATE_FORMAT = "yyyyMMdd";
    		SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
    		try{
    			Calendar c1 = Calendar.getInstance(); 
    			int anno = Integer.parseInt(date.substring(0,4));
    			int mese = Integer.parseInt(date.substring(4,6))-1;
    			int giorno = Integer.parseInt(date.substring(6,8));
    			c1.set(anno, mese, giorno);
    			c1.add(Calendar.DATE,dayToAdd);
    			dataNew = sdf.format(c1.getTime());
    		}catch (Exception e){
    			e.printStackTrace();
    		}
    		// RITORNA DIFFERENZA DATE
    		return dataNew;
    	}
    
    		
    }
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    @morphy79: Una classe molto interessante!


    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

  5. #5
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    Originariamente inviato da LeleFT
    @morphy79: Una classe molto interessante!


    Ciao.
    ovviamente se vi serve usatela pure per tutto quello che volete !!!
    ciauz !!!
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

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.