Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148

    [java] data/ora

    ho visto in questo forum che è possibile convertire una stringa in una data tramite "SimpleDateFormat" ma è anche possibile se ho una stringa "HH:MM:SEC" poterla convertire in qualche oggetto, ad esempio, di tipo ora?

    e avendo 2 variabili di tipo Date per confrontarle e prendere la data più recente posso farlo con gli operatori < o > ?

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    un oggetto che comprende solo l'orario è java.sql.Time
    per confrontare due date usa after(Date) e before(Date)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148
    ottimo suggerimento per i metodi after e before....

    per quanto riguarda l'ora se importo anche la classe java.sql mi da un errore in compilazione nella dichiarazione della variabile Date:
    "reference to Date is ambiguous, both class java.sql.Date in java.sql and class java.util.Date in java.util match"

    sto cercando un altro modo utilizzando magari stesso SimpleDateFormat... :master:

  4. #4

    Re: [java] data/ora

    Puoi fare anche un confronto tra due oggetti d1,d2 di tipo Date usando il metodo
    codice:
    getTime()
    che torna un long che indica quanti millisecondi sono passati da una certa data
    codice:
    if(d1.getTime()<d2.getTime())
    {
    max=d2;
    min=d1;
    }
    else 
    {
    max=d1;
    min=d2;
    }
    Oppure siccome la classe Date implementa Comparable puoi anche fare un
    codice:
    compareTo()
    tra Date:

    codice:
    if(d1.compareTo(d2)<0)
    {
    min=d1;
    max=d2;
    }
    else
    {
    min=d2;
    max=d1;
    }

    Ricorda che, siccome si parla di oggetti non puoi usare operatori per dati primitivi come il < o il >. Dovrai usare dei metodi opportuni.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148
    per il confronto di Time ok...mi sembra chiaro il tuo codice, ma si può trasformare una stringa "ora/min/sec" in un oggetto Time?
    come ho fatto con "SimpleDateFormat" per la data...
    questa mi imposta la data con la stringa che ho passato e l'ora me la imposta a "00:00:00" e non riesco ad impostarla all'ora che voglio io...

    io per il momento ho risolto con "GregorianCalendar" ma era interessante se si poteva fare anche con "SimpleDateFormat" visto che mi crea proprio due oggetti "Date"

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Per trasformare una stringa in un oggetto Date potresti utilizzare il metodo parse() del SimpleDateFormat... io personalmente non l'ho mai usato: preferisco estrarmi i campi, convertirli in interi e crearmi un GregorianCalendar.

    Per il problema di ambiguità tra java.sql.Date e java.util.Date, si risolve semplicemente esplicitando tutto il package nel momento della dichiarazione e creazione degli oggetti:
    codice:
    java.sql.Date miaData = new java.sql.Date();
    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148
    grazie!

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.