web-dev-qa-db-fra.com

Formateur de date Java

Je reçois le format de date en tant que "YYYY-mm-dd hh:mm" comme objet de formatage.

Comment puis-je formater l'objet de formateur d'entrée pour obtenir uniquement "YYYY-mm-dd";?

8
rajputhch

J'obtiens un format de date au format "AAAA-mm-jj hh: mm" en tant qu'objet du formateur . Comment puis-je formater l'objet de formatage d'entrée Pour obtenir uniquement "AAAA-mm-jj";

Vous ne pouvez pas avoir une date comme AAAA-mm-jj il devrait être aaaa-MM-jj . Pour obtenir la date en aaaa-MM-jj, voici le code:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
23
Harry Joy
Format formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");
        Date date;
        try {
            date = (Date)((DateFormat) formatter).parse("2011-04-13 05:00");
            formatter = new SimpleDateFormat("yyyy-MM-dd");
            String s = formatter.format(date);
            System.out.println(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
4

Utilisez SimpleDateFormat

String myDateString = "2009-04-22 15:51";

SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd");

System.out.println(outFormat.format(inFormat.parse(myDateString)));
3
Mike Yockey

Si vous obtenez une date au format "YYYY-mm-dd hh:mm" et que vous le voulez au format "YYYY-mm-dd", je vous suggère simplement d’utiliser inputDate.substring(0, 10).

Quoi qu’il en soit, méfiez-vous des bogues potentiels Y10k :)

2
aioobe
1
Jackie Dong

Exemple de date de formatage aaaa-MM-jj en Java

Format formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
System.out.println("Now: "+formatter.format(now.getTime()) );
1
Imran

Essaye ça:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
0
joel

Utilisez ce code: 

Date date=new Date();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

String formattedDate = formatter.format(date);

System.out.println("formatted time==>" + formattedDate);

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
0
user2663609
 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
                String strDate = entry_date;
                System.out.println("strDate*************"+strDate);
                Date date = null;
                try {
                    date = sdf.parse(strDate);

                } catch (ParseException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }

                DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

                Date yesterday =subtractDay( date);
                String requiredDate = df.format(yesterday);
                System.out.println("110 days before*******************"+requiredDate);

public static Date subtractDay(Date date) {

        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.DATE, -110);`enter code here`
        return cal.getTime();
    }
0
ramya

Cette question a tellement de bonnes réponses !! , voici une autre solution plus générique

public static String getDateInFormate(String oldFormate , String newFormate , String dateToParse){
    //old "yyyy-MM-dd hh:mm"
    //new yyyy-MM-dd
    //dateTopars 2011-04-13 05:00  
    String formatedDate="";
    Format formatter = new SimpleDateFormat();
    Date date;
    try {
        date = (Date)((DateFormat) formatter).parse(dateToParse);
        formatter = new SimpleDateFormat(newFormate);
        formatedDate = formatter.format(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return formatedDate;    
} 
0
dharam

SimpleDateFormat est ce que vous cherchez.

0
asgs

D'autres réponses telles que le one by user2663609 sont correctes. 

En guise d'alternative, le remplacement open-source en troisième partie des classes Java.util.Date/Calendar, Joda-Time , comprend un format intégré pour vos besoins.

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
// import org.joda.time.*;
// import org.joda.time.format.*;

String stringIn = "2011-04-07";

// Returns a formatter for a full date as four digit year, two digit month of year, and two digit day of month (yyyy-MM-dd).
DateTimeFormatter formatter = ISODateTimeFormat.date().withZone( DateTimeZone.forID( "Europe/London" ) ).withLocale( Locale.UK );
DateTime dateTime = formatter.parseDateTime( stringIn ).withTimeAtStartOfDay();
String stringOut = formatter.print( dateTime );

Décharger pour consoler…

System.out.println( "dateTime: " + dateTime.toString() );
System.out.println( "stringOut: " + stringOut );

Quand couru…

dateTime: 2011-04-07T00:00:00.000+01:00
stringOut: 2011-04-07
0
Basil Bourque