比较不同格式的两个日期对象

我有两个日期。比较不同格式的两个日期对象

第一个日期是系统时间。第二个日期与新闻文章相关,当文章到期时,它被称为end_time。

使用硒来测试文章确实在系统时间超过end_time时会过期。

我的代码如下:

String searchstring = poriginal; 

//make objects to be compared

Date parsed_system_time=null;

Date parsed_end_time=null;

//generate a current time object

GenerateSimpleTime current_time = new GenerateSimpleTime();

current_time.setSystem_time_snapshot();

String system_time = current_time.getSystem_time_snapshot();

//set up the SimpleDateFormat to be used for parsing the strings into objects for comparison

//parsing the date format e.g : 04:11:2016 11:34 AM

SimpleDateFormat sdf = new SimpleDateFormat("dd:MM:yyyy hh:mm");

try{

System.out.println("Trying to parse system time: \n");

parsed_system_time = sdf.parse(system_time);

}

catch(ParseException e)

{

System.out.println("Couldnt parse system time...\n");

e.printStackTrace();

}

SimpleDateFormat end_time_sdf = new SimpleDateFormat("dd MMMM, yyyy hh:mm a");

try {

parsed_end_time = end_time_sdf.parse(end_date);

} catch (ParseException e) {

System.out.println("Couldnt parse end_date...\n");

e.printStackTrace();

}

while(parsed_system_time.before(parsed_end_time))

{

current_time.setSystem_time_snapshot();

try {

system_time = current_time.getSystem_time_snapshot();

parsed_system_time = sdf.parse(system_time);

System.out.println("endtime is: "+ parsed_end_time+"\n");

} catch (ParseException e) {

System.out.println("Couldnt parse current_time.getSystem_time_snapshot()...\n");

e.printStackTrace();

}

//System.out.println("system time is: \n");

}

当我运行该程序的日期是按以下格式

结束时间:周五11月4 13点49分00秒AEST 2016

SYSTEMTIME :04:11:2016 1:52 PM

如果比较两个日期时出现问题(如果它们的格式不同)。这不应该是正确的?

当我运行测试时,我的程序将无限期运行并且无法检测系统时间是否大于结束时间。

的setSystem_time_snapshot()进行以下操作:

String pattern= "dd:MM:YYY h:mm a"; 

SimpleDateFormat simpletime = new SimpleDateFormat(pattern);

system_time_snapshot = simpletime.format(new Date());

System.out.println("system time snapshop is "+system_time_snapshot+"\n");

,我收拾这个烂摊子,并得到它正常工作任何想法?

回答:

所以你setSystem_time_snapshot()中的

dd:MM:YYY h:mm a 

格式返回一个字符串,但你自卫队

SimpleDateFormat sdf = new SimpleDateFormat("dd:MM:yyyy hh:mm"); 

回答:

如果结束时间为:周五11月4 13时49分零零秒AEST 2016年, 你应该在你的SimpleDateFormat中使用“EEE MMM dd HH:mm:ss zzzz yyyy”

SimpleDateFormat end_time_sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy"); 

以上是 比较不同格式的两个日期对象 的全部内容, 来源链接: utcz.com/qa/261544.html

回到顶部