package dataWarehousingTools;

import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Timer
{
	Calendar startTime;

	public Timer()
	{
		startTime = Calendar.getInstance();
	}

	public void end()
	{
		Calendar endTime;
		long runTimeSeconds;
		int hours;
		int minutes;
		int seconds;
		NumberFormat numberFormat;
		SimpleDateFormat dateFormat;

		endTime = Calendar.getInstance();
		
		dateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
		System.out.println("Start Time: " + dateFormat.format(startTime.getTime()));
		System.out.println("End Time: " + dateFormat.format(endTime.getTime()));
		
		runTimeSeconds = (endTime.getTimeInMillis() - startTime.getTimeInMillis()) / 1000;
		hours = (int)runTimeSeconds / 3600;
		minutes = (int)(runTimeSeconds - (hours * 3600)) / 60;
		seconds = (int)((runTimeSeconds - (hours * 3600)) - minutes * 60);
		
		numberFormat = NumberFormat.getInstance();
		numberFormat.setMinimumIntegerDigits(2);
	
		System.out.println
		(
			"Elapsed Time: " + 
			numberFormat.format(hours) + 
			":" + 
			numberFormat.format(minutes) + 
			":" + 
			numberFormat.format(seconds)
		);
	}

	public Calendar getStartTime()
	{
		return startTime;
	}
}
