A computer implemented method comprising: receiving instructions to generate a user interface for entering time-related data; displaying in the user interface a first set of time values (206, 306) in a plurality of rows, the displayed first set of time values (206, 306) including all of the values in the first set of time values (206, 306); detecting a user input corresponding to a selection of one of the values from the first set of time values; in response to the selection of one of the values from the first set of time values (206, 306), displaying in the user interface a second set of time values (208, 308); detecting a user input corresponding to a selection of one of the values from the second set of time values (208, 308); storing the selected value from the first set of time values (206, 306) and the selected value from the second set of time values (208, 308), wherein upon determination that one or more of the first set of time values (206, 306) may not be selected, the one or more of the first set of time values (206, 306) are deactivated such that the deactivated one or more of the first set of time values (206, 306) cannot be selected by a user; wherein the second set of time values (208, 308) are provided with a predefined increment; and in response to the selection of one of the values from the second set of time values (208, 308), displaying in the user interface a third set of time values in one or more rows, wherein the third set of time values is a subset of the second set of time values corresponding to the selected value of the second set of time values; and detecting a user input corresponding to a selection of one of the values from the third set of time values. receiving instructions to generate a user interface for entering time-related data; displaying in the user interface a first set of time values (206, 306) in a plurality of rows, the displayed first set of time values (206, 306) including all of the values in the first set of time values (206, 306); detecting a user input corresponding to a selection of one of the values from the first set of time values; in response to the selection of one of the values from the first set of time values (206, 306), displaying in the user interface a second set of time values (208, 308); detecting a user input corresponding to a selection of one of the values from the second set of time values (208, 308); storing the selected value from the first set of time values (206, 306) and the selected value from the second set of time values (208, 308), wherein upon determination that one or more of the first set of time values (206, 306) may not be selected, the one or more of the first set of time values (206, 306) are deactivated such that the deactivated one or more of the first set of time values (206, 306) cannot be selected by a user; wherein the second set of time values (208, 308) are provided with a predefined increment; and in response to the selection of one of the values from the second set of time values (208, 308), displaying in the user interface a third set of time values in one or more rows, wherein the third set of time values is a subset of the second set of time values corresponding to the selected value of the second set of time values; and detecting a user input corresponding to a selection of one of the values from the third set of time values.