Dans ma base de données, j'ai une date de début au format 2011-11-30 (aaaa/mm/jj) et une date de fin au format 40 jours.
Quelqu'un peut-il m'aider ?
Merci
Dans ma base de données, j'ai une date de début au format 2011-11-30 (aaaa/mm/jj) et une date de fin au format 40 jours.
Quelqu'un peut-il m'aider ?
Merci
Vous pouvez essayer quelque chose comme ça,
String dt = "2012-01-04"; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.setTime(sdf.parse(dt));
} catch (ParseException e) {
e.printStackTrace();
}
c.add(Calendar.DATE, 40); // number of days to add, can also use Calendar.DAY_OF_MONTH in place of Calendar.DATE
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy");
String output = sdf1.format(c.getTime());
Étape 1 Obtenir une instance de calendrier à partir de la chaîne de caractères spécifiée
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dateInString));
Étape 2 utilice add()
pour ajouter le nombre de jours au calendrier
c.add(Calendar.DATE, 40);
Étape 3 Convertir le dtae au format de date résultant
sdf = new SimpleDateFormat("MM/dd/yyyy");
Date resultdate = new Date(c.getTimeInMillis());
dateInString = sdf.format(resultdate);
Code source
String dateInString = "2011-11-30"; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dateInString));
c.add(Calendar.DATE, 40);
sdf = new SimpleDateFormat("MM/dd/yyyy");
Date resultdate = new Date(c.getTimeInMillis());
dateInString = sdf.format(resultdate);
System.out.println("String date:"+dateInString);
Date dtStartDate=o.getStartDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Calendar c = Calendar.getInstance();
c.setTime(dtStartDate);
c.add(Calendar.DATE, 3); // number of days to add
String dt = sdf.format(c.getTime()); // dt is now the new date
Toast.makeText(this, "" + dt, 5000).show();
Ce code fonctionne à 100%.
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// HH:mm:ss");
String reg_date = df.format(c.getTime());
showtoast("Currrent Date Time : "+reg_date);
c.add(Calendar.DATE, 3); // number of days to add
String end_date = df.format(c.getTime());
showtoast("end Time : "+end_date);
Ce morceau de code devrait faire l'affaire !!!
public static String addDay(String oldDate, int numberOfDays) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.setTime(dateFormat.parse(oldDate));
} catch (ParseException e) {
e.printStackTrace();
}
c.add(Calendar.DAY_OF_YEAR,numberOfDays);
dateFormat=new SimpleDateFormat("MM-dd-YYYY");
Date newDate=new Date(c.getTimeInMillis());
String resultDate=dateFormat.format(newDate);
return resultDate;
}
Pour plus de fonctionnalités, veuillez consulter ce lien
Ajouter des jours, des mois et des années à une 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.