比较不同格式的两个日期对象
我有两个日期。比较不同格式的两个日期对象
第一个日期是系统时间。第二个日期与新闻文章相关,当文章到期时,它被称为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