Si la date est 2017-03-30 à laquelle je veux récupérer la date du 2017-03-23 au 2017-03-30

J'essaie d'utiliser ce code pour laisser mon String passer au format Date

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

Date dateParse = sdf.parse("2017-03-30");

Alors je suis coincé, car je prends la référence pour obtenir l'heure actuelle comme ça

Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -7);
//may be my dateParse should put here , but i don't know how to do
Date monday = c.getTime();//it get the current time
String preMonday = sdf.format(monday);

Est-ce que quelqu'un peut m'apprendre comment aller chercher ces sept jours? Merci d'avance.

0
Morton 6 avril 2017 à 09:46

2 réponses

Meilleure réponse

Analyser la date:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = sdf.parse("2017-03-30");

Première solution 1) Et ensuite, déterminez combien de millisecondes vous devez soustraire:

Date newDate = new Date(myDate.getTime() - 604800000L); // 7 * 24 * 60 * 60 * 1000

Deuxième solution 2) Ou utilisez l'API fournie par la classe java.util.Calendar:

Calendar calendar = Calendar.getInstance();
calendar.setTime(myDate);
calendar.add(Calendar.DAY_OF_YEAR, -7);
Date newDate = calendar.getTime();

Ensuite, si nécessaire, reconvertissez-le en chaîne:

String date = dateFormat.format(newDate);

Cette réponse est disponible ici

EDIT: Si vous avez besoin d'une sortie comme 2017-03-29 2017-03-28 2017-03-27 ...... 2017-03-23 puis essayez ci-dessous le code

for(int i = 1; i <= 7; i++){
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(myDate);
    calendar.add(Calendar.DAY_OF_YEAR, -i);
    Date newDate = calendar.getTime();
    String date = dateFormat.format(newDate);
    //here in date you can get all date from and output as 2017-03-29 2017-03-28 2017-03-27 ...... 2017-03-23
}

J'espère que tu en as besoin

1
Community 23 mai 2017 à 12:32

Vous pouvez utiliser le code ci-dessous

  SimpleDateFormatdateFormat = new SimpleDateFormat("dd MMM yyyy");
        Calendar c = Calendar.getInstance();
       String date = dateFormat.format(c.getTime());

  c.add(Calendar.DATE, 7);
        String date1 = dateFormat.format(c.getTime());
2
Deepali-Systematix 6 avril 2017 à 07:13