web-dev-qa-db-fra.com

Comment convertir date en chaîne et dater à nouveau?

Bonjour, je souhaite convertir la date du jour dans ce format YYYY-MM-DD. Cependant, il convertira la date au format String, mais je veux le reconvertir au format Date. Alors, est-ce que quelqu'un peut conseiller

C'est mon code jusqu'à présent

 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 Date date = new Date();
 String datestring = dateFormat.format(date); 
13
ayampenyet

essaye ça:

 String DATE_FORMAT_NOW = "yyyy-MM-dd";
 Date date = new Date();
 SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
 String stringDate = sdf.format(date );
    try {
        Date date2 = sdf.parse(stringDate);
    } catch(ParseException e){
     //Exception handling
    } catch(Exception e){
     //handle exception
    }
26
Kanchan

Utilisez DateFormat#parse(String):

Date date = dateFormat.parse("2013-10-22");
4
qqilihq

Pour convertir la date en chaîne, vérifiez ce fil

Convertir Java.util.Date en chaîne

Et pour convertir une chaîne en date, essayez ceci,

import Java.text.ParseException;
import Java.text.SimpleDateFormat;

public class StringToDate
{
    public static void main(String[] args) throws ParseException
    {
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
        String strDate = "14/03/2003 08:05:10";     
        System.out.println("Date - " + sdf.parse(strDate));
    }
}
0
Shiva

essayez cette fonction

public static Date StringToDate(String strDate) throws ModuleException {
    Date dtReturn = null;
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
    try {
        dtReturn = simpleDateFormat.parse(strDate);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return dtReturn;
}
0
Yasa

Convertir la date en chaîne en utilisant cette fonction

public String convertDateToString(Date date, String format) {
        String dateStr = null;
        DateFormat df = new SimpleDateFormat(format);
        try {
            dateStr = df.format(date);
        } catch (Exception ex) {
            System.out.println(ex);
        }
        return dateStr;
    }

De Convertir la date en chaîne en Java . Et convertir chaîne en date à nouveau

public Date convertStringToDate(String dateStr, String format) {
        Date date = null;
        DateFormat df = new SimpleDateFormat(format);
        try {
            date = df.parse(dateStr);
        } catch (Exception ex) {
            System.out.println(ex);
        }
        return date;
    }

De Convertir une chaîne en Java à ce jour

0
David Pham

tl; dr

Comment convertir date en chaîne et dater à nouveau?

LocalDate.now().toString()

2017-01-23

…et…

LocalDate.parse( "2017-01-23" )

Java.time

La Question utilise d'anciennes classes de date-heure problématiques associées aux versions les plus anciennes de Java. Ces classes sont maintenant héritées, supplantées par les classes Java.time intégrées à Java 8, Java 9 et versions ultérieures. 

Déterminer la date du jour nécessite un fuseau horaire. Pour un moment donné, la date varie dans le monde entier par zone. 

Si vous ne le spécifiez pas, le fuseau horaire par défaut de votre machine virtuelle Java est appliqué. Ce paramètre par défaut peut changer à tout moment pendant l'exécution et n'est donc pas fiable. Je vous suggère de toujours spécifier votre fuseau horaire souhaité/attendu. 

ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;

ISO 8601

Le format souhaité de AAAA-MM-JJ est conforme à la norme ISO 8601. 

Il se trouve que cette norme est utilisée par défaut par les classes Java.time lors de l’analyse/génération de chaînes. Vous pouvez donc simplement appeler LocalDate::parse et LocalDate::toString sans spécifier de modèle de formatage. 

String s = ld.toString() ;

Pour analyser:

LocalDate ld = LocalDate.parse( s ) ;

À propos de Java.time

Le cadre Java.time est intégré à Java 8 et versions ultérieures. Ces classes supplantent les anciennes classes gênantes héritées _ date-heure telles que Java.util.Date , Calendar _, & SimpleDateFormat .

Le projet Joda-Time , désormais en mode maintenance , conseille de migrer vers les classes Java.time .

Pour en savoir plus, consultez le Tutoriel Oracle . Et recherchez Stack Overflow pour de nombreux exemples et explications. La spécification est JSR 310 .

Où obtenir les classes Java.time? 

Le projet ThreeTen-Extra étend Java.time avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels ajouts à Java.time. Vous pouvez y trouver des classes utiles telles que Interval _, YearWeek , YearQuarter _ et plus _.

0
Basil Bourque