hledger-lib-1.20.4: hledger_timedot.txt
HLEDGER_TIMEDOT(5) hledger User Manuals HLEDGER_TIMEDOT(5)
NAME
hledger's human-friendly time logging format.
DESCRIPTION
Timedot is a plain text format for logging dated, categorised quanti-
ties (of time, usually), supported by hledger. It is convenient for
approximate and retroactive time logging, eg when the real-time clock-
in/out required with a timeclock file is too precise or too interrup-
tive. It can be formatted like a bar chart, making clear at a glance
where time was spent.
Though called "timedot", this format is read by hledger as commodity-
less quantities, so it could be used to represent dated quantities
other than time. In the docs below we'll assume it's time.
A timedot file contains a series of day entries. A day entry begins
with a non-indented hledger-style simple date (Y-M-D, Y/M/D, Y.M.D..)
Any additional text on the same line is used as a transaction descrip-
tion for this day.
This is followed by optionally-indented timelog items for that day, one
per line. Each timelog item is a note, usually a
hledger:style:account:name representing a time category, followed by
two or more spaces, and a quantity. Each timelog item generates a
hledger transaction.
Quantities can be written as:
o dots: a sequence of dots (.) representing quarter hours. Spaces may
optionally be used for grouping. Eg: .... ..
o an integral or decimal number, representing hours. Eg: 1.5
o an integral or decimal number immediately followed by a unit symbol
s, m, h, d, w, mo, or y, representing seconds, minutes, hours, days
weeks, months or years respectively. Eg: 90m. The following equiva-
lencies are assumed, currently: 1m = 60s, 1h = 60m, 1d = 24h, 1w =
7d, 1mo = 30d, 1y=365d.
There is some flexibility allowing notes and todo lists to be kept
right in the time log, if needed:
o Blank lines and lines beginning with # or ; are ignored.
o Lines not ending with a double-space and quantity are parsed as items
taking no time, which will not appear in balance reports by default.
(Add -E to see them.)
o Org mode headlines (lines beginning with one or more * followed by a
space) can be used as date lines or timelog items (the stars are
ignored). Also all org headlines before the first date line are
ignored. This means org users can manage their timelog as an org
outline (eg using org-mode/orgstruct-mode in Emacs), for organisa-
tion, faster navigation, controlling visibility etc.
Examples:
# on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc.
2016/2/1
inc:client1 .... .... .... .... .... ....
fos:haskell .... ..
biz:research .
2016/2/2
inc:client1 .... ....
biz:research .
2016/2/3
inc:client1 4
fos:hledger 3
biz:research 1
* Time log
** 2020-01-01
*** adm:time .
*** adm:finance .
* 2020 Work Diary
** Q1
*** 2020-02-29
**** DONE
0700 yoga
**** UNPLANNED
**** BEGUN
hom:chores
cleaning ...
water plants
outdoor - one full watering can
indoor - light watering
**** TODO
adm:planning: trip
*** LATER
Reporting:
$ hledger -f t.timedot print date:2016/2/2
2016-02-02 *
(inc:client1) 2.00
2016-02-02 *
(biz:research) 0.25
$ hledger -f t.timedot bal --daily --tree
Balance changes in 2016-02-01-2016-02-03:
|| 2016-02-01d 2016-02-02d 2016-02-03d
============++========================================
biz || 0.25 0.25 1.00
research || 0.25 0.25 1.00
fos || 1.50 0 3.00
haskell || 1.50 0 0
hledger || 0 0 3.00
inc || 6.00 2.00 4.00
client1 || 6.00 2.00 4.00
------------++----------------------------------------
|| 7.75 2.25 8.00
I prefer to use period for separating account components. We can make
this work with an account alias:
2016/2/4
fos.hledger.timedot 4
fos.ledger ..
$ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 --tree
4.50 fos
4.00 hledger:timedot
0.50 ledger
--------------------
4.50
Here is a sample.timedot.
REPORTING BUGS
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
or hledger mail list)
AUTHORS
Simon Michael <simon@joyful.com> and contributors
COPYRIGHT
Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later.
SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger-lib-1.20.4 December 2020 HLEDGER_TIMEDOT(5)