我想传入一个字符串参数,例如是“2008-3-3 16:04”,问:怎么判断他比当前时间比较是不是过期了?没有过期的话,返回传入参数对应的Calendar,这个是用什么函数?知道的麻烦贴下代码,谢谢了。

解决方案 »

  1.   

    判断的话先date型,
    用SimpleDateFormater吧
      

  2.   

    Calendar calendar = Calendar. getInstance(); 
    Date date = new Date(); 
    calendar.setTime(date);
      

  3.   

    时间格式做下处理变为  2008-3-3 16:04:00import java.sql.Timestamp;
    import java.text.SimpleDateFormat;public class Test5 {
    private static String dateString = "2008-3-3 16:04:00"; public static void main(String args[]) {

    Timestamp t1 = Test5.getCourrentTimeByFormat(dateString);
                    Timestamp t2 = Test5.getCourrentTime_Timestamp();
    if (t1.after(t2)) {
    System.out.println(t1);
    } else {
    System.out.println(t2);
    }
    } public static Timestamp getCourrentTimeByFormat(String format) {
    SimpleDateFormat sDateFormat = new SimpleDateFormat(format);
    String todayTime = sDateFormat.format(java.util.GregorianCalendar
    .getInstance().getTime());
    return Timestamp.valueOf(todayTime);
    } public static Timestamp getCourrentTime_Timestamp() {
    return new Timestamp(System.currentTimeMillis());
    }
    }
      

  4.   


    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    public class Test { public Calendar test() {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
    Date date = df.parse("2008-3-3 16:04:05");
    Calendar calendar = Calendar.getInstance();
    Date now = calendar.getTime();
    if(now.compareTo(date) > 0) {
    calendar.setTime(date);
    return calendar;
    }
    } catch (ParseException e) {
    e.printStackTrace();
    }
    return null;
    }

    public static void main(String[] args) {
    new Test().test();
    }
    }
      

  5.   

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    public class Test { public Calendar test(String dateStr) {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
    Date date = df.parse(dateStr);
    Calendar calendar = Calendar.getInstance();
    Date now = calendar.getTime();
    if(now.compareTo(date) > 0) {
    calendar.setTime(date);
    return calendar;
    }
    } catch (ParseException e) {
    e.printStackTrace();
    }
    return null;
    }

    public static void main(String[] args) {
    Calendar test = new Test().test("2008-3-3 16:04:05");
    System.out.println(test.getTime());
    }
    }
      

  6.   

    没过期返回Calendar,过期返回null。    public Calendar getNoExpiredCalendar(String dateStr) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = null;
            try {
                Date date = sdf.parse(dateStr);
                Date now = new Date();
                if (!date.before(now)) {
                    calendar = Calendar.getInstance();
                    calendar.setTime(date);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return calendar;
        }