When is a day not a day? #Project #MSProject

<ice cream>

I’ve been meaning to write about Durations for a while, and was inspired to get a move on when I read fellow MVP and cousin Dales Howard’s blog on trusting the schedule.

During every training session and Project Online consultancy engagement I always talk about hours, minutes, days and calendars, starting times and finishing times for tasks, and importantly the relationship between these various components.  Unravelling these relationships helps my delegates get the most out of Project, and hopefully it will help you too.

So what is a day?

As far as Project is concerned, it only knows two things for certain.

  • There are 60 minutes in an hour
  • There are 24 hours in a day

Everything else is calculated by Project, based on configurable items.

Here’s what you need to know…


A calendar defines the working time for any given day.  By default Project defines the standard calendar with working time from 08:00 to 12:00, and then 13:00 to 17:00.  If you count the available hours then you can see you have 4 in the morning (08:00 to 12:00) and then 4 in the afternoon (13:00 to 17:00) giving a total of 8 in total.  Furthermore Project defines this for every Monday, Tuesday, Wednesday, Thursday and Friday, giving a total of 40 available hours each week.

It is possible to change the “standard” calendar and create new ones.  It is often suggested that before you start scheduling any project you should ensure that the calendar matches your working day where possible but in reality it’s only important where you are doing any of the following

  • tracking the HOURS resources work during the project
  • tracking the COST of resources on the project
  • using difference calendars on the project

If you never use resources on your project, or you never worry about different calendars with different working times then you can relax!

Schedule Options

There are a host of Project Options available to configure Project, and this is where we can begin to define what makes a day.

In the screen shot below, you can see that for this project, there are 8 hours in a day, 40 hours in a week, and 20 days in a month.


Now everything in terms of duration and work in Project is stored not in hours, or days, but in minutes, and so the Hours per day setting is used to convert a duration value into a number of minutes.  The Hours per week and the Days per month also perform the same function. So if a task is 1 day long, Project calculates that as 8 hours, which is 480 minutes.  We can see that in the screen shot below where I’ve scheduled T1 as 1 day, T2 as 8 hours, and T3 as 480 minutes – they all represent exactly the same duration, just expressed differently.






Okay, so what I hear you say.  Well lets take a practical example where I’ve got onshore and offshore works, the very type of engineering project that some of my customers run.  They work an 8 hour day onshore designing “stuff”, and then offshore they work a 10 hour day build the “stuff” that has been designed onshore.  So a classic case of needing two calendars.  In addition to that, they have offshore resources that they want to cost correctly, by the hour, on the project.

Setup a 10 hour calendar

This is pretty simple, use the Change Working Time button to create a 10 hour calendar.  Note that my work-day starts at 07:00 and runs till 12:00, and then from 12:00 to 18:00.  This gives a 10 hour day.


Let’s start scheduling.

The 1st task I’ll schedule is a 5 day Design task.  This task will use the default calendar, so I can simply create an auto scheduled task with a duration of 5 days.


Project has to work out what “5 days” means.  Remember that we’ve defined 8 hours in a day and there are 480 mins in 8 hours, so 5 days is 5 * 480 mins which equals 2400 mins.  Project effectively uses the duration value of 2400 mins, starts the task at 08:00 on the Monday and finishes the task on the Friday @ 17:00.

Our second tasks is to schedule the offshore work which works a 10 hour day.  Here’s where the confusion of a day takes place.

Again, I create an auto scheduled task and enter 1 day in the duration field and link it to the previous task.


1 “day” though is 8 hours and not 10 hours, and so I need to correct the duration to say 10 hours.


We can see the change to the end date, and the task is still using the standard calendar for scheduling.  So I can change the task calendar to the 10 hour day calendar.


So this is good, but not quite what I want.  The Build task starts as soon as the Design task finishes, but in reality I want the Build task to start on the Monday @ 07:00 and so I will set the start date appropriately.


Doing some more mental arithmetic, I can work out that 10 hours equates to 1.25 days when we work 8 hours a day, and so I could substitute 10 hours with 1.25 days and still get the same scheduling result.  Likewise I could schedule 600mins instead of 1.25 days.







So the conclusion here is that you have to perform a little bit of mental maths in order to get your schedule to work for you if you’ve got different calendars, and that “1 day” is a bit of an arbitrary value.  As can be seen from the blog, a 10 hour day onsite is actually a 1.25 day for a standard calendar.