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
La réponse moderne à cette question se fait attendre depuis longtemps. Pensez à utiliser java.time, l'API moderne de date et d'heure de Java, pour vos travaux sur les dates.
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("MM/dd/uuuu");
int durationDays = 40;
LocalDate startDate = LocalDate.parse("2011-11-30");
LocalDate newDate = startDate.plusDays(durationDays);
String formattedDate = newDate.format(outputFormatter);
System.out.format(formattedDate);
La sortie est :
01/09/2012
java.time fonctionne très bien sur les appareils Android anciens et récents. Il suffit d'avoir au moins Java 6 .
org.threeten.bp
avec des sous-paquets.java.time
a été décrite pour la première fois.java.time
à Java 6 et 7 (ThreeTen pour JSR-310).Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
// display the current date
String CurrentDate = mYear + "/" + mMonth + "/" + mDay;
String dateInString = CurrentDate; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
c = Calendar.getInstance();
try {
c.setTime(sdf.parse(dateInString));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
c.add(Calendar.DATE, 7656);//insert the number of days you want to be added to the current date
sdf = new SimpleDateFormat("dd/MM/yyyy");
Date resultdate = new Date(c.getTimeInMillis());
dateInString = sdf.format(resultdate);
//Display the Result in the Edit Text or Text View your Choice
EditText etDOR = (EditText)findViewById(R.id.etDateOfReturn);
etDOR.setText(dateInString);
Ça marche pour moi.
Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
String CurrentDate = mYear + "/" + mMonth + "/" + mDay;
String dateInString = dob; // Select date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
c = Calendar.getInstance();
try {
c.setTime(sdf.parse(dateInString));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
c.add(Calendar.DATE, 14); //14 dats add
sdf = new SimpleDateFormat("dd/MM/yyyy");
Date resultdate = new Date(c.getTimeInMillis());
dateInString = sdf.format(resultdate);
System.out.println(dateInString);
Il suffit de copier cette méthode pour passer les données
public static String ConvertToDate(String dateString,String inputFormater ,String outputFormater) {
String outputText = "" ;
try {
SimpleDateFormat inputFormat = new SimpleDateFormat(inputFormater);
SimpleDateFormat outputFormat = new SimpleDateFormat(outputFormater);
Date parsed = null;
parsed = inputFormat.parse(dateString);
outputText = outputFormat.format(parsed);
Log.d(TAG, " msg : " + outputText);
} catch (ParseException e) {
e.printStackTrace();
Log.e(TAG, "ERROR : " + e.getMessage());
}
return outputText;
}
Et l'appeler comme
public static String INPUTE_JSON_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static String FORMAT_FOR_JOB_APPLIED = "MMM dd, yyyy";
String date ="2017-10-29";
ConvertToDate(date ,DateUtils.INPUTE_JSON_DATE_FORMAT ,DateUtils.FORMAT_FOR_JOB_APPLIED);
Vous pouvez mettre le format que vous voulez dans votre cituation.
ConvertToDate("2011-11-30","yyyy/mm/dd" ,"mm/dd/yyyy");
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.