mellowdeep

datemodifier

Jul 3rd, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. package methodsExercises.pr10DateModifier;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5.  
  6. public class Pr10DateModifier {
  7.  
  8.     public static void main(String[] args) {
  9.         try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));){
  10.             String startDate = reader.readLine();
  11.             String endDate = reader.readLine();
  12.             DateModifier date = new DateModifier();
  13.            
  14.             date.calcDifference(startDate, endDate);
  15.             System.out.println(date.getDiference());
  16.         } catch (Exception e) {
  17.             e.printStackTrace();
  18.         }
  19.  
  20.     }
  21.  
  22. }
  23. package methodsExercises.pr10DateModifier;
  24.  
  25. import java.util.Calendar;
  26.  
  27.  class DateModifier {
  28.  
  29.     private long diference;
  30.    
  31.     public DateModifier() {
  32.         this.diference = 0L;
  33.    
  34.     }
  35.  
  36.     public Long getDiference() {
  37.         return diference;
  38.     }
  39.    
  40.     public void calcDifference(String startDate, String endDate){
  41.         String[] tokensStart = startDate.split("\\s+");
  42.         int startYear  = Integer.parseInt(tokensStart[0]);
  43.         int startYMonth  = Integer.parseInt(tokensStart[1]);
  44.         int startDay  = Integer.parseInt(tokensStart[2]);
  45.        
  46.         Calendar start = Calendar.getInstance();
  47.         start.set(startYear, startYMonth, startDay);
  48.                
  49.         String[] tokensEnd = endDate.split("\\s+");
  50.         int endYear  = Integer.parseInt(tokensEnd[0]);
  51.         int endYMonth  = Integer.parseInt(tokensEnd[1]);
  52.         int endDay  = Integer.parseInt(tokensEnd[2]);
  53.        
  54.         Calendar end = Calendar.getInstance();
  55.         end.set(endYear, endYMonth, endDay);
  56.        
  57.         long startDateMilliSeconds = start.getTimeInMillis();
  58.         long endDateMilliSeconds = end.getTimeInMillis();
  59.         this.diference = Math.abs((endDateMilliSeconds - startDateMilliSeconds)/(24 * 60 * 60 * 1000));
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment