@c  -c, --current          show only current and past transactions (not future)

@option{--current}(@option{-c}) displays transactions occurring on or
before the current date.  Any transaction recorded for a future date will be
ignored, as if it had not been seen.  This is useful if you happen to
pre-record transactions, but still wish to view your balances in terms of
what is available today.

@c  -b, --begin DATE       set report begin date
@c  -e, --end DATE         set report end date

@option{--begin DATE} (@option{-b DATE}) limits the report to only
those transactions occurring on or after @var{DATE}.  The running total in
the register will start at zero with the first posting, even if
there are earlier transactions.

To limit the display only, but still add earlier postings to the
running total, use the display expression @samp{-d 'd>=[DATE]'}):

@example
ledger --basis -b may -d 'd>=[5/14]' reg ^assets
@end example

Reports:

@smallexample
2004/05/14 Pay day              Assets:Bank:Checking        $500.00    $3,000.00
2004/05/27 Credit card company  Assets:Bank:Checking        $-20.00    $2,980.00
@end smallexample

In this example, the displayed postings start from @samp{5/14},
but the calculated total starts from the beginning of @samp{may}.

@option{--end DATE} (@option{-e DATE}) states when reporting should
end, both calculation and display.  The ending date is inclusive.

The @var{DATE} argument to the @option{-b} and @option{-e} options can
be rather flexible.  Assuming the current date to be November 15,
2004, then all of the following are equivalent:

@example
ledger -b oct bal
ledger -b "this oct" bal
ledger -b 2004/10 bal
ledger -b 10 bal
ledger -b last bal
ledger -b "last month" bal
@end example

@c  -p, --period STR       report using the given period
@c      --period-sort EXPR sort each report period's transactions by EXPR

To constrain the report to a specific time period, use
@option{--period} (@option{-p}).  A time period may have both a
beginning and an end, or neither, as well as a specified interval.
Here are a few examples:

@example
ledger -p 2004 bal
ledger -p august bal
ledger -p "from aug to oct" bal
ledger -p "daily from 8/1 to 8/15" bal
ledger -p "weekly since august" bal
ledger -p "monthly from feb to oct" bal
ledger -p "quarterly in 2004" bal
ledger -p yearly bal
@end example

See @ref{Period expressions} for more on syntax.  Also, all of the
options @option{-b}, @option{-e} and @option{-p} may be used together,
but whatever information occurs last takes priority.  An example of
such usage (in a script, perhaps) would be:

@example
ledger -b 2004 -e 2005 -p monthly reg ^expenses
@end example

This command is identical to:

@example
ledger -p "monthly in 2004" reg ^expenses
@end example

The postings within a period may be sorted using
@option{--period-sort}, which takes a value expression.  This is
similar to the @option{--sort} option, except that it sorts within
each period transaction, rather than sorting all postings in the report.
See the documentation on @option{--sort} below for more details.