All pastes #923595 Raw Edit

Something

public text v1 · immutable
#923595 ·published 2008-02-29 18:09 UTC
rendered paste body


/**
 * Days Between Dates: Calculate days between dates
 *
 * COURSE:      COMP 1010  SECTION:    D01-OL
 * INSTRUCTOR:  Mohammad Shorfuzzaman
 * ASSIGNMENT:  3       QUESTION:   2
 * @author      Richard Mitsuk Lavitt, 7607877
 * @version     2.28.08
 */

// allow input
import java.util.Scanner;

public class daysBetweenDates
	{

    public static void main(String[] args)
	    {

			// Print application information
			System.out.println("----------------------------------------   ");
			System.out.println("COURSE:      COMP 1010   SECTION:    D01-OL");
			System.out.println("INSTRUCTOR:  Mohammad Shorfuzzaman         ");
			System.out.println("ASSIGNMENT:  3           QUESTION:   2     ");
			System.out.println("AUTHOR:      Richard Mitsuk Lavitt, 7607877");
			System.out.println("VERSION:     2.28.08				       ");
			System.out.println("----------------------------------------   ");

			String dateone;		// these two are input
			String datetwo;
			int dayone;			// for manipulation of our dates
			int monthone;
			int yearone;
			int daytwo;
			int monthtwo;
			int yeartwo;
			int daysone;
			int daystwo;

			int difference;     // the difference between our two dates


			Scanner keyboard = new Scanner(System.in);		// set up keyboard input


			System.out.println("Please input first date in 8 digit MMDDYYYY format.");
			dateone = keyboard.nextLine();
			System.out.println("Please input second date in 8 digit MMDDYYYY format.");
			datetwo = keyboard.nextLine();

			// extract dates from input
			monthone = Integer.parseInt(dateone.substring(0,2));
			dayone = Integer.parseInt(dateone.substring(2,4));
			yearone = Integer.parseInt(dateone.substring(4,8));

			monthtwo = Integer.parseInt(datetwo.substring(0,2));
			daytwo = Integer.parseInt(datetwo.substring(2,4));
			yeartwo = Integer.parseInt(datetwo.substring(4,8));


			// allow us to manipulate them
			daysone = convertDateToDays(dayone,monthone,yearone);
			daystwo = convertDateToDays(daytwo,monthtwo,yeartwo);

			// do our calculation
			difference = daystwo - daysone;

			// make it positive
			//if(difference < 0)
			//difference = difference * -1;

			// Output
			System.out.println("Date one: " + monthone + " " + dayone + " " + yearone);
			System.out.println("Date two: " + monthtwo + " " + daytwo + " " + yeartwo);
			System.out.println("The difference is " + difference);

			// Confirm success
			System.out.println("End of processing.");

	    }









	/* Calculate days from January 1 */
	public static int convertDateToDays	(int day, int month, int year)
	{

	final int LONGMONTH = 31;
	final int SHORTMONTH = 30;
	int FEB = 28;

	int days = day;
	int iteration;
	int loophold;

	if(isLeapYear(year))
	FEB = 29;

	iteration = month;		// initialize our loop variable

	while (iteration > 0)
	{

		if(month == 2 || month == 4 || month == 6 || month == 8 || month == 9 || month == 11)
		days = days + LONGMONTH;

		if(month == 3)
		days = days + FEB;

		if(month == 5 || month == 7 || month == 10 || month == 12)
		days = days + SHORTMONTH;
		if(month == 1)
		break;


		iteration--;
	}
	return(days);
	}









	/* Check if it is a leap year */
	public static boolean isLeapYear (int year)
	{

	boolean status = false;


	final int DIVISOR_ONE = 4;			// these numbers fit into the year in different ways depending on its status
	final int DIVISOR_TWO = 100;
	final int INDIVISOR = 400;

	if(year % DIVISOR_ONE == 0)
	{
		if(year % DIVISOR_TWO == 0 && year % INDIVISOR != 0)
		status = false;
		else
		status = true;
	}

	return(status);

	}


	}