Comment obtenir une date avant une semaine dans Android dans ce format :
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ex : maintenant 2010-09-19 HH:mm:ss
, avant une semaine 2010-09-12 HH:mm:ss
Merci
Comment obtenir une date avant une semaine dans Android dans ce format :
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ex : maintenant 2010-09-19 HH:mm:ss
, avant une semaine 2010-09-12 HH:mm:ss
Merci
Analyser la date :
Date myDate = dateFormat.parse(dateString);
Et puis calculez combien de millisecondes vous devez soustraire :
Date newDate = new Date(myDate.getTime() - 604800000L); // 7 * 24 * 60 * 60 * 1000
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 vous en avez besoin, reconvertissez-le en chaîne :
String date = dateFormat.format(newDate);
J'ai créé ma propre fonction qui peut être utile pour obtenir la date suivante/précédente à partir de
Date actuelle:
/**
* Pass your date format and no of days for minus from current
* If you want to get previous date then pass days with minus sign
* else you can pass as it is for next date
* @param dateFormat
* @param days
* @return Calculated Date
*/
public static String getCalculatedDate(String dateFormat, int days) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat s = new SimpleDateFormat(dateFormat);
cal.add(Calendar.DAY_OF_YEAR, days);
return s.format(new Date(cal.getTimeInMillis()));
}
Exemple:
getCalculatedDate("dd-MM-yyyy", -10); // It will gives you date before 10 days from current date
getCalculatedDate("dd-MM-yyyy", 10); // It will gives you date after 10 days from current date
et si vous souhaitez obtenir la date calculée en passant votre propre date :
public static String getCalculatedDate(String date, String dateFormat, int days) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat s = new SimpleDateFormat(dateFormat);
cal.add(Calendar.DAY_OF_YEAR, days);
try {
return s.format(new Date(s.parse(date).getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
Log.e("TAG", "Error in Parsing Date : " + e.getMessage());
}
return null;
}
Exemple avec Passage propre date :
getCalculatedDate("01-01-2015", "dd-MM-yyyy", -10); // It will gives you date before 10 days from given date
getCalculatedDate("01-01-2015", "dd-MM-yyyy", 10); // It will gives you date after 10 days from given date
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.