Command/currentdate

From Wiki
Jump to navigation Jump to search


\currentdate

Summary

The command \currentdate typesets the current date.

Settings

\currentdate[...,...]
[...,...]year year:name y y:name yy Y Y:name YY month month:mnem month:hebrew month:jalali m m:mnem m:hebrew m:jalali MONTH MONTH:mnem MONTH:hebrew MONTH:jalali mm M day day:name day:+ day:ord day:++ day:highord d d:name d:+ d:ord d:++ d:highord dd dd:+ dd:ord dd:++ dd:highord D D:+ D:ord D:++ D:highord weekday weekday:mnem weekday:hebrew weekday:jalali w w:mnem w:hebrew w:jalali WEEKDAY WEEKDAY:mnem WEEKDAY:hebrew WEEKDAY:jalali W referral space \\\\\\\\␣ text hebrew:to jalali:to jalali:from

OptionExplanation
This format is a comma-separated list of field formats and optional separators.

Settings name

\currentdate[...]
[...]name

OptionExplanation
This is a date format defined with \definedate

Description

The command \currentdate typesets the current date using a supplied format.



Examples

Example 1: The Current Date

\currentdate

\currentdate[weekday,month,day,{, },year]

\currentdate[day,{.~},month,{~},year]

gives

Example 2: Incrementing and Decrementing the Current Date

Today is \currentdate.

\increment\normalday

Tomorrow will be \currentdate.

\decrement\normalday

%\increment\normalmonth% -- gives an error as of 08-2023
\increment\normalyear

And today in a year will be \currentdate.

gives

Example 3: Incrementing and Decrementing the Current Date Locally

Today is \currentdate.

\start\increment\normalday
Tomorrow will be \currentdate.
\stop

Yet today is \currentdate.

gives

Example 4: Incrementing and Decrementing the Current Date by N

Hello\dorecurse{1}{, Hello}.

Today is \currentdate.
\start\increment\normalday
So tomorrow will be \currentdate
\stop
\start\dorecurse{3}{\increment\normalday}
and in three days will be \currentdate\ or so.
\stop

Yet today is \currentdate.

gives

(Side-note the usage of line breaks and blank lines in the source code and how they alter the PDF product.)

Example 5: More Complex Usage

\definedate[short][month,{,~},day]
\definedate[long][{the },day:++,{ of },month,{ in the year of },year]

\def\Today{\currentdate[long]}

% \def  = \defineexpandable
% {...} = \start ...\stop

\defineexpandable[2]\Later{%
\start\dorecurse{#1}{\increment\normalday}%
\currentdate[#2]%
\stop
}

Today is \Today\ one should believe.

So tomorrow will be \Later{1}{short}.

And in three days should be \Later{3}{long} or so.

gives

Note the usage of commenting (using the percent sign [%]) to avoid unwanted spacing that occurs when using line breaks, especially within brackets (e.g. \start ... \stop).

Notes

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: