I've got a table which users can enter data into. Each row represents an item.

I've got a column called 'lead times' where some times the lead times are weeks and sometimes they are days.

Ideally I want it to be a number that I can sort on, so I would have to bring all the numbers back to a universal point of reference - what's the best way to handle the mixture of lead times ?

I've thought of using a calendar 'popout' but this seems to add extra complication where its not needed. For instance if there is a 14 week lead time, if it was only 14 weeks a user could just type 14 but with a calendar they will have to flip through 3 months before they get to where they want to be. Any ideas how I can better handle this?

3 Answers 3


Depending on how flexible you are with your interface design, you could have them default to entering 14 for weeks and 14d for 14 days or vice versa. Display it as 13w 6d with some logic behind to catch the zeroes. If it is a non-mouse workflow, typing is fine to optimize for. As for the sorting, again depending on the design environment you might be able to make the Display be just a formatting applied to values saved in nanoseconds if you so desire. That should make them sort properly.


whats the best way to handle the mixture of leadtimes?

Since you want to have a universal reference point, you would want to use your loweset time unit as the reference point. For example, if your lowest time unit available is hours, then all user inputted time should be converted to hours. Of course, this should happen in the back-end for sorting and tracking purpose. User will still see the user friendly time units: weeks, days, hours, etc.

...but with a calendar they will have to flip through 3 months before they get to where they want to be.. any ideas how i can better handle this?

User can specify a time unit after a time value 'X', such as Xw, Xd, Xh or Xm, to represent weeks (w), days (d), hours (h) and minutes (m), respectively.

If user do not specify a time unit, a default time unit will be assumed. You or user can set conversion rates, for example 1w = 5d and 1d = 8h to define what's a month, what's a week, what's a day.


Thanks @chairman meow, and @TheUser1024 for the input, i think what im going to implement is a element which will have the values :

- 1 day
- 2 days
- 3 days
- ... etc
- 6 days 
- 1 week
- 2 weeks 
- 3 weeks
- 1 month
- 1.5 months 
- 2 months 

The applications logic will be able to sort this data.

In my application this will work fine, although for others who are reading this in another context were you may need to be able to specify a precise point in the future ie. 47 days it may not.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.