Precise Time Tracking

Track time more precisely by specifying the start and end time.

In the previous section, you added metadata to your tracked intervals.

Looking at the summary report then, you discovered a gap between the intervals with ID @3 and @4, where you forgot to track time:

$ timew summary :ids

^[[4mWk^[[0m ^[[4mDate      ^[[0m ^[[4mDay^[[0m ^[[4mID^[[0m ^[[4mTags         ^[[0m ^[[4m   Start^[[0m ^[[4m     End^[[0m ^[[4m   Time^[[0m ^[[4m  Total^[[0m
W8 2025-02-23 Sun @6 SPORT          8:05:21  8:22:56 0:17:35
                  @5 PREPARATION    8:31:07  9:20:02 0:48:55
                  @4 HOME           9:23:00  9:54:28 0:31:28
                  @3 CLIENT        11:02:13 11:14:56 0:12:43
                  @2 CLIENT, PHONE 11:14:56 11:19:22 0:04:26
                  @1 CLIENT        11:19:22 11:34:07 0:14:45 2:09:52
                                                             ^[[4m       ^[[0m
                                                             2:09:52

$ ▒

In situations like this you can use the track command to add the missing interval.

The track command allows you to record complete intervals. It accepts tags like the start and stop commands, but also requires a range of time:

$ timew track 10:00 - 10:48 ERRANDS
Note: 'ERRANDS' is a new tag.
Recorded ERRANDS
  Started 2025-02-23T10:00:00
  Ended                 48:00
  Total               0:48:00
$ ▒

Here the range is given as ‘10:00 - 10:48’. Timewarrior accepts a variety of formats for specifying time ranges, which will be covered in a later section of the tutorial.

You can now see the new interval with ID @4 in the summary report:

$ timew summary :ids

^[[4mWk^[[0m ^[[4mDate      ^[[0m ^[[4mDay^[[0m ^[[4mID^[[0m ^[[4mTags         ^[[0m ^[[4m   Start^[[0m ^[[4m     End^[[0m ^[[4m   Time^[[0m ^[[4m  Total^[[0m
W8 2025-02-23 Sun @7 SPORT          8:05:21  8:22:56 0:17:35
                  @6 PREPARATION    8:31:07  9:20:02 0:48:55
                  @5 HOME           9:23:00  9:54:28 0:31:28
                  @4 ERRANDS       10:00:00 10:48:00 0:48:00
                  @3 CLIENT        11:02:13 11:14:56 0:12:43
                  @2 CLIENT, PHONE 11:14:56 11:19:22 0:04:26
                  @1 CLIENT        11:19:22 11:34:07 0:14:45 2:57:52
                                                             ^[[4m       ^[[0m
                                                             2:57:52

$ ▒

Specific date and time values can also be used with the start and stop commands. So you do not have to start and stop tracking exactly at the beginning and end of an activity.

Assume you start doing some sports after your work. After you have started you get the idea to also track that, so you start a new time tracking with the past start time:

$ timew start 11:39 SPORT
Tracking SPORT
  Started 2025-02-23T11:39:00
  Current               46:00
  Total               0:07:00
$ ▒

You see the familiar output of the start command again, but of course adapted to the passed start time.

When you are done with your exercise, you can also define the end time when stopping the tracking:

$ timew stop 12:00
Recorded SPORT
  Started 2025-02-23T11:39:00
  Ended              12:00:00
  Total               0:21:00
$ ▒

With that new knowledge at hand, you now start your next activity:

$ timew start HOMEWORK 13:00
Note: 'HOMEWORK' is a new tag.
Tracking HOMEWORK
  Started 2025-02-23T13:00:00
  Current               02:14
  Total               0:02:14
$ ▒

But wait, that was not the correct time, you entered 13:00 instead of 12:00. How can this be undone?

In the next section you will see how you can take one or more steps back to fix such mistakes.

Or you return to the Tutorial section and pick another topic of interest.