DiffTime.java 2 KB
Newer Older
TongZuu committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
package com.csc.library.utility;

import com.csc.library.utilities.CscCalendar;
import com.csc.library.utilities.CscTime;
import com.csc.library.utilities.MyLog;

public class DiffTime {

	/*
	 * Ѻӡź ͧ͡ѡҹ
	 *  ѹҷ͡ҡҹ
	 * ѹҷ繪ǧͧþѡ§Ҵ
	 * 觨Ѿ ӹǹҷ ӧҹ Ѻ͡
	 * */
	public float TimeOutDiffTimeIn(CscCalendar time_in, CscCalendar time_out,
			CscCalendar break_in, CscCalendar break_out) {
		CscTime result = new CscTime(0f);
		if (!time_in.equals(time_out) && time_out.after(time_in)) {
			if (time_in.beforeEquals(break_in) && time_out.afterEquals(break_out)) { //8.xx-17.xx
				//MyLog.debug("====> CASE 1 [8.xx-17.xx]");
				result.add(break_in.subForHour(time_in));
				result.add(time_out.subForHour(break_out));
			} else if (time_in.beforeEquals(break_in) && time_out.beforeEquals(break_in)) { //8.xx-11.xx
				//MyLog.debug("====> CASE 2 [8.xx-11.xx]");
				result.add(time_out.subForHour(time_in));
			} else if (time_in.afterEquals(break_out) && time_out.afterEquals(break_out)) { //13.xx-16.xx 
				//MyLog.debug("====> CASE 3 [13.xx-16.xx ]");
				result.add(time_out.subForHour(time_in));
			} else if (time_in.beforeEquals(break_in) && time_out.beforeEquals(break_out) && time_out.afterEquals(break_in)) { //8.xx-12.xx
				//MyLog.debug("====> CASE 4 [8.xx-12.xx]");
				result.add(break_in.subForHour(time_in));
			} else if (time_out.afterEquals(break_out) && time_in.afterEquals(break_in) && time_in.beforeEquals(break_out)) { //12.xx-14.xx
				//MyLog.debug("====> CASE 5 [12.xx-14.xx]");
				result.add(time_out.subForHour(break_out));
			} 
		} //else MyLog.debug("====> IN AND OUT IS EQUALS !!!");
		return result.getFloat();
	}
	
	public float TimeOutDiffTimeIn(CscCalendar time_in, CscCalendar time_out){
		CscTime result = new CscTime(0f);	
		result.add(time_out.subForHour(time_in));
		return result.getFloat();
	}//end TimeOutDiffTimeIn
}