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



