date operations in java | java dateformat | date to string in java
Here,DateFiller program to get date operation related today date.
Program given to date to you should want.Program will next or previous or may both next as well as previous.
Custom Input Change :-
If you want next than + (on mark variable).
If you want previous than - (on mark variable).
If you want format change than - (on format variable).
If you want get date from particular date than change on (new Date()).
Output :- today(2016-10-14)
mark value
----------------------------------------------------------------------------------------------------
+-3 | -+3 | +3 | -3 |
----------------------------------------------------------------------------------------------------
2016-10-15 | 2016-10-13 | 2016-10-15 | 2016-10-13 |
2016-10-16 | 2016-10-12 | 2016-10-16 | 2016-10-12 |
2016-10-17 | 2016-10-11 | 2016-10-17 | 2016-10-11 |
2016-10-13 | 2016-10-15 | | |
2016-10-12 | 2016-10-16 | | |
2016-10-11 | 2016-10-17 | | |
----------------------------------------------------------------------------------------------------
Example:-
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
/**
*
* @author vishal.khokhar
*/
public class DateFiller {
//Here, Mark is modify your custom day date it may be diffent set
//i.e.+-3 first next 3 day date OR previous 3 day date
//i.e.-+3 first previous 3 day date OR next 3 day date
//i.e.+5 first next 5 day date
//i.e.-5 first previous 5 day date
String mark = "-+5";
//Here, format is modify your custom date format which you want.
String format = "yyyy-MM-dd";
ArrayList<String> obj = new ArrayList<String>();
public static void main(String[] args) {
new DateFiller().showDate();
}
public void showDate() {
try {
fillDate();
while (!obj.isEmpty()) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = (Date) sdf.parse(sdf.format(new Date()));
Calendar c1 = Calendar.getInstance();
c1.setTime(date);
c1.add(Calendar.DATE, Integer.parseInt(obj.get(0)));
String input = sdf.format(c1.getTime());
obj.remove(0);
System.out.println(input);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void fillDate() {
try {
LinkedHashMap lhm = new LinkedHashMap();
while (mark != null && !mark.isEmpty()) {
char sign = mark.charAt(0);
if (!Character.isDigit(sign)) {
for (int i = 1; i <= Integer.parseInt(mark.substring(mark.length() - 1)); i++) {
lhm.put(sign + String.valueOf(i), sign + String.valueOf(i));
}
mark = mark.replace(String.valueOf(sign), "");
} else if (Character.isDigit(sign)) {
mark = mark.replace(String.valueOf(sign), "");
}
}
Set set = lhm.entrySet();
Iterator i = set.iterator();
while (i.hasNext()) {
Map.Entry me = (Map.Entry) i.next();
obj.add((String) me.getKey());
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}