NoviceToDotNet
NoviceToDotNet

Reputation: 10805

How to make this time logic

From the store i am getting open time and close time i can get open time 14(just integer not time format) oclock today and close time 2(just integer not time format) oclock tomorrw

I want to form a time list
that starts from the 14+45mint then 15 mint interval untill tomorrw 2 oclock How can i make this.

I am trying it something like this, but i am unable to fix interval for next day.

ePOSEntities db = new ePOSEntities();
int d = Convert.ToInt32(DateTime.Today.DayOfWeek);
StoreTiming st = (from s in db.StoreTimings 
                  where s.Week_Day == d 
                  select s).FirstOrDefault();
var time = DateTime.Now;
DateTime OpenDtim = Convert.ToDateTime(st.OpenTime);
DateTime CloseDtim = Convert.ToDateTime(st.CloseTime).AddDays(1);

for (DateTime x = OpenDtim; x <= CloseDtim; x++) { 

}

Upvotes: 1

Views: 115

Answers (2)

Sachin
Sachin

Reputation: 40970

You want to use DateTime.AddMinutes

 List<DateTime> dtList = new List<DateTime>();
 OpenDtim = OpenDtim.AddMinutes(45)
 dtList.Add(OpenDtim);
 while (OpenDtim < CloseDtim)
 {
    OpenDtim = OpenDtim.AddMinutes(15);
    dtList.Add(OpenDtim);

 }
return dtList;

Upvotes: 2

Sten Petrov
Sten Petrov

Reputation: 11040

// parse your 'openTime' and 'closeTime'
List<DateTime> list = new List<DateTime>();

DateTime step = openTime.AddMinutes(45);

while (step<closeTime) {
   list.Add(step);
   step = step.AddMinutes(15);
}

Upvotes: 3

Related Questions