java - Subtraction of date and time from file contents containing dates line by line -


while((str=br.readline())!=null)         {            string line1=str;            string line2=br.readline();              int datedifference=integer.parseint(line2.substring(8,10))-integer.parseint(line1.substring(8,10));             int yeardifference=integer.parseint(line2.substring(11,15))-integer.parseint(line1.substring(11,15));             int hourdifference=integer.parseint(line2.substring(16,18))-integer.parseint(line1.substring(16,18));             int minutedifference=integer.parseint(line2.substring(19,21))-integer.parseint(line1.substring(19,21));             int seconddifference=integer.parseint(line2.substring(22,23))-integer.parseint(line1.substring(22,23));             int lastthingdifference=integer.parseint(line2.substring(24,28))-integer.parseint(line1.substring(24,28)); 

system.out.println(hourdifference);} after excuting getting error this

exception in thread "main" java.lang.numberformatexception: input string: " 1"   @ java.lang.numberformatexception.forinputstring(numberformatexception.java:65)    @ java.lang.integer.parseint(integer.java:569)  @ java.lang.integer.parseint(integer.java:615)  @ project.subtract.main(subtract.java:49) 

java result: 1

the integer.parseint(string str) method fail if string contains other numbers. in case, substring starts white space, fix need use .trim() method remove leading/trailing white spaces so:

int datedifference=integer.parseint(line2.substring(8,10).trim())-integer.parseint(line1.substring(8,10).trim()); 

edit: per comment, so:

int datedifference=integer.parseint(line2.substring(8,10).trim())-integer.parseint(line1.substring(8,10).trim());  int returnval = math.abs(datedifference);    //this return absolute value of integer, -50 yield 50, while 50 still yield 50. 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -