public class DateUtil {
public static Date parseDate(String dateStr, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
return null;
}
}
public static Date getBeforOneDay() {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.add(Calendar.DATE, -1);
return f.parse(f.format(c.getTime()));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
}
https://blog.csdn.net/zxl646801924/article/details/84105766
@Test
public void getBeforOneDayTest() {
Date date = getBeforOneDay();
System.out.println(date); // Sun Apr 07 00:00:00 CST 2019
}
public static Date getBeforOneDay() {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.add(Calendar.DATE, -1);
return f.parse(f.format(c.getTime()));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
import org.junit.Test;
import java.util.Date;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
public class DateUtilTest {
@Test
public void parseDateTest() {
int year = 2019;
int month = 4;
int date = 8;
String pattern = "yyyy-MM-dd";
// case 1: normal
String dateStr = String.format("%d-%02d-%02d", year, month, date);
Date result = DateUtil.parseDate(dateStr, pattern);
Date expected = new Date(year - 1900, month - 1, date);
assertEquals(expected, result);
// case 2: wrong pattern
dateStr = "something wrong";
assertNull(DateUtil.parseDate(dateStr, pattern));
}
@Test
public void getBeforOneDayTest() {
int year = 2019;
int month = 4;
int date = 8;
String pattern = "yyyy-MM-dd";
// case 1: normal
assertEquals(new Date(year - 1900, month - 1, date), DateUtil.getBeforOneDay());
}
}
剩下的就是构造更多的用例去覆盖各种情况了。