import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class Test {
public static void main(String[] args) throws ParseException {
Calendar dateFromNet = strToCal("11-MAR-2004", "dd-MMM-yyyy");
Calendar IEndTime = strToCal("20-05-2004", "dd-mm-yyyy");
if (dateFromNet.after(IEndTime) ) {
System.out.println(dateFromNet);
System.out.println(IEndTime);
System.out.println("not true: 11-MAR-2004(11-3-2004) > 20-05-2004 ");
}
}
private static Calendar strToCal(String date, String format) throws ParseException {
SimpleDateFormat input = new SimpleDateFormat(format);
input.setTimeZone(TimeZone.getTimeZone("GMT"));
Date d = (Date) input.parse(date);
Calendar c = Calendar.getInstance();
c.setTime(d);
return c;
}
}
此测试显示
dateFromNet.after(IEndTime) == true
即11-03-2004 是在 20-05-2004 之后
我做错了什么?
最佳答案
Calendar IEndTime = strToCal("20-05-2004", "dd-mm-yyyy");
mm 代表毫秒;将这些国会大厦设为 M,如下所示:
Calendar IEndTime = strToCal("20-05-2004", "dd-MM-yyyy");
关于java - 调试与日历日期 GMT 相关的简单 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5935051/