Visualizzazione dei risultati da 1 a 7 su 7

Discussione: aiuto data

  1. #1

    aiuto data

    Ciao a tutti avrei bisogno di 1favore....io ho una stringa contenente la data e l'ora(esempio: 20/05/2008 15:12:00) ,la devo leggere, codificarla in un oggetto Date, Calendar o simili e poi riscriverla uguale...come posso fare??ho visto 1po sulle api ma non sono riuscito!grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: aiuto data

    Originariamente inviato da limeste
    Ciao a tutti avrei bisogno di 1favore....io ho una stringa contenente la data e l'ora(esempio: 20/05/2008 15:12:00) ,la devo leggere, codificarla in un oggetto Date, Calendar o simili e poi riscriverla uguale...come posso fare??ho visto 1po sulle api ma non sono riuscito!grazie a tutti
    Vedi in generale java.text.DateFormat (per il tuo caso è più utile java.text.SimpleDateFormat) e il suo metodo parse().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Ti serve un SimpleDateFormat per poter "parsare" la stringa:
    codice:
    import java.text.*;
    ...
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    Date d = sdf.parse( tuaStringa );
    Puoi anche fare tutto a mano, utilizzando substring() della classe String per ricavare ciascuna informazione e passarle poi tutte al costruttore di GregorianCalendar, dopo averle logicamente convertite in interi, ma in questo caso dovresti essere tu anche a effettuare dei controlli di congruenza semantica.


    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

  4. #4
    Io l'ho pensato così:

    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    System.out.println(sdf.parse("20/08/2008 16:13:00").toString());

    Ma il risultato è 1po strano....mi da:

    Wed Aug 20 16:13:00 CEST 2008

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Il perchè tu voglia fare una cosa del genere mi rimane alquanto oscuro... partire da una stringa per riottenere la stessa stringa è alquanto inutile.

    Ad ogni modo, il metodo toString() della classe Date (che viene invocato automaticamente quando passi l'oggetto Date al System.out.println() ) stampa la data e l'ora utilizzando una sua forma interna.

    Per riottenere la stringa desiderata dovresti, ovviamente, riutilizzare il tuo SimpleDateFormat:
    codice:
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    Date d = sdf.parse( tuaStringa );
    System.out.println( sdf.format(d) );
    Ma converrai con me che è alquanto inutile...


    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

  6. #6
    Grazie mille...ho però 1altro problema:

    Date d = sdf.parse("20/07/2008 11:15:00"); non me lo fa fare dice: "Type mismatch: cannot convert from Date to Date"

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Posso capire se avesse detto: "Type mismatch: cannot convert from java.util.Date to java.sql.Date" e questo significherebbe che hai una direttiva import fatta in questo modo

    codice:
    import java.sql.Date;
    
    oppure
    
    import java.sql.*;
    In questo caso devi referenziare in modo assoluto la classe, perchè parse() torna un java.util.Date:

    codice:
    java.util.Date d = sdf.format( ... );
    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

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 © 2025 vBulletin Solutions, Inc. All rights reserved.