The TaskJuggler User Manual

Project Management beyond Gantt Chart Drawing

<< dailyworkinghours << Table Of Contents >> date (extend) >>

Keyword date


A DATE is date and time specification similar to the ISO 8601 date format. Instead of the hard to read ISO notation with a T between the date and time sections, we simply use the more intuitive and easier to read dash: YYYY-MM-DD[-hh:mm[:ss]][-TIMEZONE]. Hour, minutes, seconds, and the TIMEZONE are optional. If not specified, the values are set to 0. TIMEZONE must be an offset to GMT or UTC, specified as +HHMM or -HHMM. Dates must always be aligned with the timingresolution.

TaskJuggler also supports simple date calculations. You can add or subtract a given interval from a fixed date.

%{2009-11-01 + 8m}

This will result in an actual date of around 2010-07-01. Keep in mind that due to the varying lengths of months TaskJuggler cannot add exactly 8 calendar months. The date calculation functionality makes most sense when used with macros.

%{${now} - 2w}

This results in a date 2 weeks earlier than the current (or specified) date. See duration for a complete list of supported time intervals. Don't forget to put at least one space character after the date to prevent TaskJuggler from interpreting the interval as an hour.

Date attributes may be invalid in some cases. This needs special care in logical expressions.

Syntax (<DATE> | % { <DATE> (+ | -) <duration> (min | h | d | w | m | y) })
Arguments duration
The duration of the interval. May not be 0 and must be a multiple of timingresolution.
Context Global scope

<< dailyworkinghours << Table Of Contents >> date (extend) >>

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 by Chris Schlaeger <>.TaskJuggler is a trademark of Chris Schlaeger.