protected void updateTimeFields() {
		long timeAsSeconds = getTimeAsSeconds();

		// Store the starting seconds minutes and hours so that we can compare
		// this to the new minutes seconds and hours to set the hasChanged
		// variable
		long startS = seconds, startM = minutes, startH = hours;
		seconds = timeAsSeconds % 60;
		minutes = ((getTimeAsSeconds() / 60) % 60);
		hours = timeAsSeconds / 3600;

		// Change the boolean hasChanged to true if any of the starting values
		// are different to the new times we calculated
		hasChanged = startS != seconds || startM != minutes || startH != hours;
	}