Here you can find the source of yesterday(Date date)
public static Date yesterday(Date date)
//package com.java2s; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static Date yesterday(Date date) { Date newDate = (Date) date.clone(); long time = newDate.getTime() / 1000L - 86400L; newDate.setTime(time * 1000L);/*from w w w . ja v a2s .c om*/ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); try { newDate = format.parse(format.format(newDate)); } catch (Exception ex) { System.out.println(ex.getMessage()); } return newDate; } public static String getTime(int format) { StringBuffer cTime = new StringBuffer(10); Calendar time = Calendar.getInstance(); int miltime = time.get(14); int second = time.get(13); int minute = time.get(12); int hour = time.get(11); int day = time.get(5); int month = time.get(2) + 1; int year = time.get(1); if (format != 14) if (year >= 2000) year -= 2000; else year -= 1900; if (format >= 2) if (format == 14) cTime.append(year); else cTime.append(getFormatTime(year, 2)); if (format >= 4) cTime.append(getFormatTime(month, 2)); if (format >= 6) cTime.append(getFormatTime(day, 2)); if (format >= 8) cTime.append(getFormatTime(hour, 2)); if (format >= 10) cTime.append(getFormatTime(minute, 2)); if (format >= 12) cTime.append(getFormatTime(second, 2)); if (format >= 15) cTime.append(getFormatTime(miltime, 3)); return cTime.toString(); } private static String getFormatTime(int time, int format) { StringBuffer numm = new StringBuffer(); int length = String.valueOf(time).length(); if (format < length) return null; for (int i = 0; i < format - length; ++i) numm.append("0"); numm.append(time); return numm.toString().trim(); } }