@VisibleForTesting
	static String secondsToTimeString(double seconds)
	{
		int hours = (int) (Math.floor(seconds) / 3600);
		int minutes = (int) (Math.floor(seconds / 60) % 60);
		seconds = seconds % 60;

		String timeString = hours > 0 ? String.format("%d:%02d:", hours, minutes) : String.format("%d:", minutes);

		// If the seconds is an integer, it is ambiguous if the pb is a precise
		// pb or not. So we always show it without the trailing .00.
		return timeString + (Math.floor(seconds) == seconds ? String.format("%02d", (int) seconds) : String.format("%05.2f", seconds));
	}
@Test
	public void testSecondsToTimeString()
	{
		assertEquals("0:03.60", ChatCommandsPlugin.secondsToTimeString(3.6));
		assertEquals("0:03", ChatCommandsPlugin.secondsToTimeString(3));
		assertEquals("1:23:45.60", ChatCommandsPlugin.secondsToTimeString(5025.6));
		assertEquals("8:00:00", ChatCommandsPlugin.secondsToTimeString(60 * 60 * 8));
	}