时间是字符串类型时, 比较大小的时候,先要 转化成 “时间格式”,然后在进行比较。
字符串比较大小的规则:
首先取出两个字符串的长度,比较较小的长度内,两者是否相等。
若不相等,则直接返回该位置字符的ASCII码相减后的值。
若各位置都相等,则将两个字符串长度的差值返回。
实现代码:
/**
* 验证字符串时间,是否在30天内
* @param str
* @return
*/
public static boolean isValidDate(String str) {
boolean convertSuccess=true;
//时间格式定义
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//获取当前时间日期--nowDate
String nowDate = format.format(new Date());
//获取30天前的时间日期--minDate
Calendar calc = Calendar.getInstance();
calc.add(Calendar.DAY_OF_MONTH, -30);
String minDate = format.format(calc.getTime());
try {
//设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007