summaryrefslogtreecommitdiff
path: root/src/times.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow opt -NDEBUG build to complete without warningsJohn Wiegley2010-06-041-0/+2
|
* Fixed two memory reference errorsJohn Wiegley2010-06-021-7/+6
|
* If FMT_CUSTOM is given, and no format, use FMT_PRINTEDJohn Wiegley2010-05-221-2/+2
|
* Report an error for incorrect dates like 2010/04/32John Wiegley2010-05-221-20/+34
| | | | Fixes EF57C685-2C18-49A1-9A8C-FB3BE6F99C41
* Updated copyrights to 2003-2010John Wiegley2010-03-051-1/+1
|
* Restore "-p this" option (aka -p 'this month')John Wiegley2010-01-211-11/+7
|
* Fix for date parsing when no year is givenJohn Wiegley2010-01-161-1/+1
|
* Don't rely on the integral value of a booleanJohn Wiegley2009-11-201-2/+5
|
* Guarded some debug codeJohn Wiegley2009-11-181-0/+2
|
* The new period parser is passing all testsJohn Wiegley2009-11-181-102/+173
|
* The new period parser is implemented, but untestedJohn Wiegley2009-11-181-308/+651
|
* Added a "range" member to date_interval_tJohn Wiegley2009-11-181-11/+8
| | | | | | This is used to define the beginning/ending ranges of the time period, before it becomes fixed (by calling stabilize()) and then sets the values of start and end.
* Added several new types for working with dates and rangesJohn Wiegley2009-11-171-0/+288
| | | | | | | | | | | | | | | | | | | | | | | | date_specifier_t :: This is like a plain date_t, except it knows what wasn't specified. For example, if 2008/06 is parsed, it becomes date_specifier_t which knows that no day was given. If you ask for the begin() date of the specifier, it will be 2008/06/01; the end() date (which is exclusive) will be 2008/07/01. date_range_t :: A date range is a range of two specifiers, either of which (but not both) may be omitted. This makes it possible to represent expressions like "from june to july", where no day or year is given. The exact dates will be inferred by using the current year, and fixing the range from YEAR/06/01 to YEAR/07/01. That is, the range goes from the begin() of one date specifier to the begin() of the other. date_specifier_or_range_t :: A variadic type that can be either a date_specifier_t or a date_range_t. It's just a wrapper to represent the fact that ranges can be implicit via specifiers (such as, "in june"), or explicit via ranges ("since 2008").
* Moved date_interval_t::duration_t to date_duration_tJohn Wiegley2009-11-171-29/+29
|
* Added a date_traits_t typeJohn Wiegley2009-11-171-26/+24
|
* Renamed date_interval_t::end to finishJohn Wiegley2009-11-171-38/+38
|
* Stylistic change: assert(0) -> assert(false)John Wiegley2009-11-131-4/+4
|
* Fixed issues with period strings like "2009/10"John Wiegley2009-11-021-16/+24
|
* date_interval_t now uses a duration_t objectJohn Wiegley2009-10-301-77/+45
| | | | This is instead of using boost::variant.
* Support a --now option, for testing purposesJohn Wiegley2009-10-271-0/+2
| | | | | | This sets Ledger's notion of the "current time" to the given date. This makes it possible to have stable output from budgeting and forecasting reports, for the sake of baseline tests.
* Fixed the Boost facet-based time parsing codeJohn Wiegley2009-10-251-13/+24
|
* Whitespace and comment changesJohn Wiegley2009-10-251-10/+10
|
* Rewrote the way date and time I/O is managedJohn Wiegley2009-10-251-57/+288
|
* Removed reliance on strptime/strftimeJohn Wiegley2009-10-111-90/+84
| | | | | | | | The code now uses Boost's input and output facets for times and dates. This ensures completely consistency regarding timezones and times, and fixes the regression test that was broken while I was away coding in London (where it was GMT-0 and I didn't notice the difference between local and GMT).
* Correctly parse the range of period "june 2008"John Wiegley2009-06-181-2/+6
|
* Don't instantiate duration_t using default ctorJohn Wiegley2009-03-231-10/+11
|
* Rewrote the date interval parser/stepperJohn Wiegley2009-03-231-15/+86
| | | | | The new implementation uses boost::gregorian::date_duration objects, rather than manually stepping.
* The new code is working now.John Wiegley2009-03-161-11/+12
|
* Added feature to "align" the interval's start dateJohn Wiegley2009-03-151-36/+139
|
* First iteration of the new date_interval_t rewriteJohn Wiegley2009-03-151-119/+217
|
* Enabled use of pre-compiled headers by defaultJohn Wiegley2009-03-101-0/+2
|
* Added support for "today" as a time periodJohn Wiegley2009-03-081-1/+11
|
* Reduced the #include dependency tree to a minimumJohn Wiegley2009-03-041-1/+1
|
* Patched some date-sensitive testsJohn Wiegley2009-03-021-1/+1
|
* Corrected warnings g++-4.3.3 was complaining aboutJohn Wiegley2009-02-281-1/+1
|
* Marked all strings needing internationalizationJohn Wiegley2009-02-251-37/+37
| | | | | | | | | | | | | | | | These strings are now collected automagically in the file po/ledger.pot. If you'd like to produce a translation, just run this command after building Ledger: msginit -l LOCALE -o LANG.po -i po/ledger.pot Where LOCALE is a string like de or en_GB, and LANG is a short descriptive word for your language. Then send me this .po file so I can commit it to the Ledger sources (alternatively, you could maintain the file in a fork on GitHub), and setup the build script to format and install your new message catalog during a "make install".
* Greatly improved the way "weeks" are iteratedJohn Wiegley2009-02-211-7/+45
|
* Re-enabled parsing of timelog dataJohn Wiegley2009-02-191-4/+6
|
* Parse 2004/01 as YYYY/mmJohn Wiegley2009-02-181-0/+3
|
* Fixed the way interval_t objects are initializedJohn Wiegley2009-02-141-11/+9
|
* Removed interval_t::advanced, which was unusedJohn Wiegley2009-02-141-3/+0
|
* Rewrote the "entry" command. It's ALIVE!John Wiegley2009-02-111-5/+13
|
* Fixed the use of --effective and --date-format (-y).John Wiegley2009-02-091-2/+4
|
* Largely removed all of Ledger's use of global variables, for the REPL's sake.John Wiegley2009-02-041-30/+13
|
* Increased copyright range to include 2009.John Wiegley2009-01-201-1/+1
|
* Changed output_date_format to match 08-Aug-14 format.John Wiegley2008-08-141-1/+1
|
* Moved around most of the files so that source code is in src/, documentationJohn Wiegley2008-08-051-0/+350
is in doc/, etc.