I have an enterprise-based web application that makes use of effective dates - so instead of just making a change to a piece of data, that change can take effect at some date in the future (or the past, technically). Making use of these effective dates isn't required - users might always have one record, for all time, and just keep changing it.

As an example, here's a mockup of an employee profile that works the same way:


download bmml source – Wireframes created with Balsamiq Mockups

My question is related to the dropdown where the user selects what range of dates to look at. It might not necessarily make sense to have a specific start or end date. If you've got an employee profile, until the employee quits, an end date doesn't make sense. Currently, we're picking arbitrary start and end dates that represent the far past and the far future, and using those to endcap the first and last record.

So, after a couple of entries, the dropdown ends up looking something like this:


download bmml source

Finally, my question: what would be a more effective approach to displaying the lack of specific start and end dates?

  • 1
    Why not just put as "01/01/1996 - To date" for the start and end date ?
    – Mervin
    Sep 17, 2014 at 18:53
  • 1
    Like you, I have used arbitrary start and end dates in the distant past and future and found it is a messy approach, due to unintended consequences. In my case the arbitrary dates where hidden behind the scenes and converted to something user friendly for the UI, but those dates ended up turning up unexpectedly (eg in reports) and confusing people. Jan 3, 2020 at 10:12

2 Answers 2


For me, I think it'd be best to ask for the date of interest, then select the version based on that.

I've done a lot of work on bitemporal databases and found this to be a good approach, although of course it depends on your user's expectations.


Can you explicitly ask how they want to enter the dates? Then display it to reflect that?



download bmml source – Wireframes created with Balsamiq Mockups

  • If I understand the original post correctly, you can't ask for a range, as you might overlap one or more changes, then you'd have to figure out how to display multiple values in the UI. This is why I suggested asking for a single effective date above, then the system simply selects the version active at that point. Of course, it depends on the specific use case, but this is an approach that I've found successful and easy to grasp (as the system does the work behind the scenes). Sep 18, 2014 at 8:42
  • Yep, @JimmyJunior is right on.
    – Mark D
    Sep 18, 2014 at 15:16

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.