---
name: "hledger_timeclock"
section: "5"
platform: "linux"
package: "hledger"
version: "1.18.1-1+b1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/hledger_timeclock"
---

# hledger\_timeclock(5)

the time logging format of timeclock.el, as read by hledger

## NAME

Timeclock - the time logging format of timeclock.el, as read by hledger

## DESCRIPTION

hledger can read timeclock files. As with Ledger, these are (a subset of) timeclock.el's format, containing clock-in and clock-out entries as in the example below. The date is a simple date. The time format is HH:MM\[:SS\]\[+-ZZZZ\]. Seconds and timezone are optional. The timezone, if present, must be four digits and is ignored (currently the time is always interpreted as a local time).

-

  ```
  i 2015/03/30 09:00:00 some:account name  optional description after two spaces
  o 2015/03/30 09:20:00
  i 2015/03/31 22:21:45 another account
  o 2015/04/01 02:00:34
  ```

hledger treats each clock-in/clock-out pair as a transaction posting some number of hours to an account. Or if the session spans more than one day, it is split into several transactions, one for each day. For the above time log, `hledger print` generates these journal entries:

-

  ```
  $ hledger -f t.timeclock print
  2015-03-30 * optional description after two spaces
      (some:account name)         0.33h
  2015-03-31 * 22:21-23:59
      (another account)         1.64h
  2015-04-01 * 00:00-02:00
      (another account)         2.01h
  ```

Here is a sample.timeclock to download and some queries to try:

-

  ```
  $ hledger -f sample.timeclock balance                               # current time balances
  $ hledger -f sample.timeclock register -p 2009/3                    # sessions in march 2009
  $ hledger -f sample.timeclock register -p weekly --depth 1 --empty  # time summary by week
  ```

To generate time logs, ie to clock in and clock out, you could:

- •

  use emacs and the built-in timeclock.el, or the extended timeclock-x.el and perhaps the extras in ledgerutils.el

- •

  at the command line, use these bash aliases: ``shell     alias ti="echo i `date '+%Y-%m-%d %H:%M:%S'` \$* >>$TIMELOG"     alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG"``

- •

  or use the old `ti` and `to` scripts in the ledger 2.x repository. These rely on a "timeclock" executable which I think is just the ledger 2 executable renamed.

## 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-2019 Simon Michael.\
 Released under GNU GPL v3 or later.

## SEE ALSO

[hledger(1)](/hledger/1.md), [hledger-ui(1)](/hledger-ui/1.md), [hledger-web(1)](/hledger-web/1.md), hledger-api(1), [hledger\_csv(5)](/hledger_csv/5.md), [hledger\_journal(5)](/hledger_journal/5.md), [hledger\_timeclock(5)](/hledger_timeclock/5.md), [hledger\_timedot(5)](/hledger_timedot/5.md), [ledger(1)](/ledger/1.md)

http://hledger.org
