public int CompareTimeWithSessionBreak(DateTime dt_st, SessionBreak sb) { DateTime dt = DateTime.Now; try { switch (sb) { case SessionBreak.AfternoonClose: dt = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day, 16, 0, 0); break; case SessionBreak.EveningOpen: if (dt_st.Hour < 16) { dt = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day - 1, 17, 0, 0); } //if(dt_st.Hour >= 17) else { dt = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day, 16, 0, 0); } break; default: dt = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day, 16, 0, 0); break; } } catch (Exception ex) { Print("CompareTimeWithSessionBreak ex:" + dt_st.ToString() + "--" + sb.ToString() + "--" + ex.Message); } return(dt_st.CompareTo(dt)); }
public double GetTimeDiffSession(DateTime dt_st, SessionBreak sb) { DateTime dt_session = DateTime.Now; TimeSpan ts = dt_session.Subtract(dt_st); double diff = 100; try{ switch (sb) { case SessionBreak.AfternoonClose: dt_session = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day, 16, 0, 0); ts = dt_session.Subtract(dt_st); break; case SessionBreak.EveningOpen: if (dt_st.Hour < 16) { dt_session = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day - 1, 17, 0, 0); } else { dt_session = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day, 17, 0, 0); } ts = dt_st.Subtract(dt_session); break; case SessionBreak.NextDay: dt_session = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day - 1, 17, 0, 0); ts = dt_st.Subtract(dt_session); break; default: dt_session = GetNewDateTime(dt_st.Year, dt_st.Month, dt_st.Day - 1, 17, 0, 0); ts = dt_st.Subtract(dt_session); break; } diff = ts.TotalMinutes; } catch (Exception ex) { Print("GetTimeDiffSession ex:" + dt_st.ToString() + "--" + sb.ToString() + "--" + ex.Message); } return(Math.Round(diff, 2)); }