summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/datetime/datetime.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/datetime/datetime.sty')
-rw-r--r--Master/texmf-dist/tex/latex/datetime/datetime.sty293
1 files changed, 158 insertions, 135 deletions
diff --git a/Master/texmf-dist/tex/latex/datetime/datetime.sty b/Master/texmf-dist/tex/latex/datetime/datetime.sty
index d4fbe566df1..9b5db911e7b 100644
--- a/Master/texmf-dist/tex/latex/datetime/datetime.sty
+++ b/Master/texmf-dist/tex/latex/datetime/datetime.sty
@@ -5,7 +5,7 @@
%% The original source files were:
%%
%% datetime.dtx (with options: `datetime.sty,package')
-%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% Copyright (C) 2006 Nicola Talbot, all rights reserved.
%% If you modify this file, you must change its name first.
%% You are NOT ALLOWED to distribute this file alone. You are NOT
%% ALLOWED to take money for the distribution or use of either this
@@ -27,91 +27,90 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datetime}[2005/09/30 v2.46 Date Time Package]
+\ProvidesPackage{datetime}[2006/12/05 v2.49 Date Time Package]
\RequirePackage{fmtcount}
\newif\if@dt@nodate
\@dt@nodatefalse
\newcommand{\dateseparator}{/}
+\newif\if@dt@multilingual
+\@ifpackageloaded{babel}{%
+\@dt@multilingualtrue}{\@dt@multilingualfalse}
\newcommand{\ordinaldateenglish}[1]{\ordinalnum{#1}}
-\let\ordinaldatenohyphenation=\ordinaldateenglish
-
\newcommand{\ordinaldatewelsh}[1]{%
#1\ifnum#1=1\/\textsuperscript{a\~n}\fi}
-
\newcommand{\ordinaldatebreton}[1]{%
#1\ifnum#1=1\/\textsuperscript{a\~n}\fi}
-
\newcommand{\ordinaldatefrench}[1]{%
#1\ifnum#1=1\ier\fi}
-
\newcommand{\ordinaldate}[1]{%
-\@ifundefined{languagename}{\ordinalnum{#1}}{%
+\if@dt@multilingual
\@ifundefined{ordinaldate\languagename}{#1}{%
-\csname ordinaldate\languagename\endcsname{#1}}}}
+\csname ordinaldate\languagename\endcsname{#1}}
+\else
+\ordinalnum{#1}%
+\fi}
+\providecommand{\ier}{\textsuperscript{er}}
\newif\ifshowdow % show the day of week if true
-
-\providecommand{\formatdate}[3]{}
-
+\providecommand*{\formatdate}[3]{}
\newcount\@day
\newcount\@month
\newcount\@year
-
\DeclareRobustCommand*{\longdate}{%
-\renewcommand{\formatdate}[3]{\ifshowdow\dayofweekname{##1}{##2}{##3} \fi
+\renewcommand*{\formatdate}[3]{%
+\ifshowdow\dayofweekname{##1}{##2}{##3} \fi
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\ordinaldate{\the\@day}\ \monthname[\@month], \the\@year}}
-
\DeclareRobustCommand*{\shortdate}{%
-\renewcommand{\formatdate}[3]{\ifshowdow\shortdayofweekname{##1}{##2}{##3} \fi
+\renewcommand*{\formatdate}[3]{%
+\ifshowdow\shortdayofweekname{##1}{##2}{##3} \fi
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\ordinaldate{\the\@day}\ \shortmonthname[\@month], \the\@year}}
-
-\providecommand*{\twodigit}[1]{{\@dtctr=#1\relax\ifnum\@dtctr<10 0\fi\the\@dtctr}}
-
+\let\twodigit\two@digits
\DeclareRobustCommand*{\ddmmyyyydate}{%
-\renewcommand{\formatdate}[3]{\@day=##1\relax\@month=##2\relax\@year=##3\relax
-\twodigit\@day\dateseparator \twodigit\@month\dateseparator \the\@year}}
-
+\renewcommand*{\formatdate}[3]{%
+\@day=##1\relax\@month=##2\relax\@year=##3\relax
+\twodigit\@day\dateseparator \twodigit\@month\dateseparator
+\the\@year}}
\DeclareRobustCommand*{\dmyyyydate}{%
-\renewcommand{\formatdate}[3]{\@day=##1\relax\@month=##2\relax\@year=##3\relax
+\renewcommand*{\formatdate}[3]{%
+\@day=##1\relax\@month=##2\relax\@year=##3\relax
\the\@day\dateseparator \the\@month\dateseparator \the\@year}}
-
-\DeclareRobustCommand*{\ddmmyydate}{\renewcommand{\formatdate}[3]{%
+\DeclareRobustCommand*{\ddmmyydate}{\renewcommand*{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\@dtctr=\@year%
\@modulo{\@dtctr}{100}%
-\twodigit\@day\dateseparator \twodigit\@month\dateseparator \twodigit\@dtctr}}
-
-\DeclareRobustCommand*{\dmyydate}{\renewcommand{\formatdate}[3]{%
+\twodigit\@day\dateseparator \twodigit\@month\dateseparator
+\twodigit\@dtctr}}
+\DeclareRobustCommand*{\dmyydate}{\renewcommand*{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\@dtctr=\@year%
\@modulo{\@dtctr}{100}%
\the\@day\dateseparator \the\@month\dateseparator \twodigit\@dtctr}}
-
\DeclareRobustCommand*{\textdate}{%
-\renewcommand{\formatdate}[3]{\ifshowdow\dayofweekname{##1}{##2}{##3} the \fi
+\renewcommand*{\formatdate}[3]{%
+\ifshowdow\dayofweekname{##1}{##2}{##3} the \fi
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\@Ordinalstring\@day\ of \monthname[\@month], \@Numberstring\@year}}
-
\DeclareRobustCommand*{\usdate}{%
-\renewcommand{\formatdate}[3]{\@day=##1\relax\@month=##2\relax\@year=##3\relax
+\renewcommand*{\formatdate}[3]{%
+\@day=##1\relax\@month=##2\relax\@year=##3\relax
\monthname[\@month]\ \the\@day, \the\@year}}
-
\DeclareRobustCommand*{\mmddyyyydate}{%
-\renewcommand{\formatdate}[3]{\@day=##1\relax\@month=##2\relax\@year=##3\relax
-\twodigit\@month\dateseparator \twodigit\@day\dateseparator \the\@year}}
-
+\renewcommand*{\formatdate}[3]{%
+\@day=##1\relax\@month=##2\relax\@year=##3\relax
+\twodigit\@month\dateseparator \twodigit\@day\dateseparator
+\the\@year}}
\DeclareRobustCommand*{\mdyyyydate}{%
-\renewcommand{\formatdate}[3]{\@day=##1\relax\@month=##2\relax\@year=##3\relax
+\renewcommand*{\formatdate}[3]{%
+\@day=##1\relax\@month=##2\relax\@year=##3\relax
\the\@month\dateseparator \the\@day\dateseparator \the\@year}}
-
-\DeclareRobustCommand*{\mmddyydate}{\renewcommand{\formatdate}[3]{%
+\DeclareRobustCommand*{\mmddyydate}{\renewcommand*{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\@dtctr=\@year%
\@modulo{\@dtctr}{100}%
-\twodigit\@month\dateseparator \twodigit\@day\dateseparator \twodigit\@dtctr}}
-
-\DeclareRobustCommand*{\mdyydate}{\renewcommand{\formatdate}[3]{%
+\twodigit\@month\dateseparator \twodigit\@day\dateseparator
+\twodigit\@dtctr}}
+\DeclareRobustCommand*{\mdyydate}{\renewcommand*{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\@dtctr=\@year%
\@modulo{\@dtctr}{100}%
@@ -122,22 +121,18 @@
\@namedef{date@#1@m}{#3}%
\@namedef{date@#1@y}{#4}}{%
\PackageError{datetime}{Date `#1' already defined}{}}}
-
\newcommand{\getdateyear}[1]{%
\@ifundefined{date@#1@y}{%
\PackageError{datetime}{Date `#1' not defined}{}}{%
\csname date@#1@y\endcsname}}
-
\newcommand{\getdatemonth}[1]{%
\@ifundefined{date@#1@m}{%
\PackageError{datetime}{Date `#1' not defined}{}}{%
\csname date@#1@m\endcsname}}
-
\newcommand{\getdateday}[1]{%
\@ifundefined{date@#1@d}{%
\PackageError{datetime}{Date `#1' not defined}{}}{%
\csname date@#1@d\endcsname}}
-
\newcommand{\displaydate}[1]{%
\@ifundefined{date@#1@y}{%
\PackageError{datetime}{Date `#1' not defined}{}}{%
@@ -145,13 +140,15 @@
\csname date@#1@m\endcsname}{%
\csname date@#1@y\endcsname}}}
\DeclareRobustCommand*{\currenttime}{\xxivtime}
-
\newcommand{\timeseparator}{:}
-
-\providecommand{\settimeformat}[1]{\DeclareRobustCommand*\currenttime{\csname#1\endcsname}}
+\providecommand{\settimeformat}[1]{%
+\DeclareRobustCommand*\currenttime{\csname#1\endcsname}}
\longdate
\showdowtrue
-\InputIfFileExists{datetime.cfg}{\typeout{Loading local datetime configurations}}{\typeout{No datetime.cfg file found}}
+\InputIfFileExists{datetime.cfg}{\PackageInfo{datetime}{%
+Loading local datetime configurations}}{%
+\PackageInfo{datetime}{No datetime.cfg file found, using default
+settings}}
\RequirePackage{fmtcount}
\DeclareOption{long}{\longdate}
\DeclareOption{short}{\shortdate}
@@ -173,8 +170,6 @@
\DeclareOption{24hr}{\settimeformat{xxivtime}}
\DeclareOption{12hr}{\settimeformat{ampmtime}}
\DeclareOption{oclock}{\settimeformat{oclock}}
-
-
\DeclareOption{austrian}{\input{dt-austrian.def}}
\DeclareOption{bahasa}{\input{dt-bahasa.def}}
\DeclareOption{basque}{\input{dt-basque.def}}
@@ -217,16 +212,17 @@
\DeclareOption{ukraineb}{\input{dt-ukraineb.def}}
\DeclareOption{usorbian}{\input{dt-usorbian.def}}
\DeclareOption{welsh}{\input{dt-welsh.def}}
-
\ProcessOptions
\RequirePackage{ifthen}
\if@dt@nodate
-\typeout{datetime package message : option "nodate" used, so not defining \protect\monthname}
+\PackageInfo{datetime}{option "nodate" used, so not defining
+\string\monthname}
\else
\providecommand{\monthnameenglish}[1][\month]{%
\@orgargctr=#1\relax
\ifcase\@orgargctr
-\PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month numbers should go from 1 (January) to 12 (December)}%
+\PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month
+numbers should go from 1 (January) to 12 (December)}%
\or January%
\or February%
\or March%
@@ -239,21 +235,28 @@
\or October%
\or November%
\or December%
-\else \PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month numbers should go from 1 (January) to 12 (December)}%
+\else \PackageError{datetime}{Invalid Month number \the\@orgargctr}{%
+Month numbers should go from 1 (January) to 12 (December)}%
+\fi}
+\newcommand{\monthname}[1][\month]{%
+\if@dt@multilingual
+\@ifundefined{monthname\languagename}{%
+\PackageWarning{datetime}{No month names provided for language
+'\languagename'}%
+\monthnameenglish[#1]}{\csname monthname\languagename\endcsname[#1]}%
+\else
+\monthnameenglish[#1]%
\fi}
-
- %\let\monthname=\monthnameenglish
-\newcommand{\monthname}{\@ifundefined{languagename}{%
-\monthnameenglish}{\@ifundefined{monthname\languagename}{%
-\monthnameenglish}{\csname monthname\languagename\endcsname}}}
\fi
\if@dt@nodate
-\typeout{datetime package message : option "nodate" used, so not defining \protect\shortmonthname}
+\PackageInfo{datetime}{option "nodate" used, so not defining
+\protect\shortmonthname}
\else
\providecommand{\shortmonthnameenglish}[1][\month]{%
\@orgargctr=#1\relax
\ifcase\@orgargctr
-\PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month numbers should go from 1 (jan) to 12 (dec)}%
+\PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month
+numbers should go from 1 (jan) to 12 (dec)}%
\or Jan%
\or Feb%
\or Mar%
@@ -267,23 +270,26 @@
\or Nov%
\or Dec%
\else%
-\PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month numbers should go from 1 (jan) to 12 (dec)}%
+\PackageError{datetime}{Invalid Month number \the\@orgargctr}{Month
+numbers should go from 1 (jan) to 12 (dec)}%
+\fi}
+\newcommand{\shortmonthname}[1][\month]{%
+\if@dt@multilingual
+\@ifundefined{shortmonthname\languagename}{%
+\PackageWarning{datetime}{No abbreviated month name defined for
+language '\languagename', using full version instead}%
+\monthname[#1]}{%
+\csname shortmonthname\languagename\endcsname[#1]}%
+\else
+\shortmonthnameenglish[#1]%
\fi}
-
- %\let\shortmonthname=\shortmonthnameenglish
-
-\newcommand{\shortmonthname}{\@ifundefined{languagename}{%
-\shortmonthnameenglish}{\@ifundefined{shortmonthname\languagename}{%
-\shortmonthnameenglish}{\csname shortmonthname\languagename\endcsname}}}
\fi
\newif\ifleapyear
-
\newcount\@dtctr
-
\if@dt@nodate
-\typeout{datetime package message : option "nodate" used, so not defining \protect\dayofweek \space or \protect\shortdayofweek}
+\PackageInfo{datetime}{option "nodate" used, so not defining
+\string\dayofweek \space or \string\shortdayofweek}
\else
-
\providecommand{\testifleapyear}[1]{%
\leapyearfalse
\@year=#1\relax
@@ -305,10 +311,8 @@
\fi
\fi
}
-
\newcount\dayofyear
-
\providecommand{\computedayofyear}[3]{%
\testifleapyear{#3}%
\dayofyear=0\relax
@@ -327,18 +331,16 @@
\or \advance\dayofyear by 304\relax
\or \advance\dayofyear by 334\relax
\else
-\PackageError{datetime}{Invalid month number}{The second argument to \protect\computedayofyear
-should lie in the range 1-12}
+\PackageError{datetime}{Invalid month number}{The second argument to
+\string\computedayofyear \space should lie in the range 1-12}
\fi
\ifnum\@month>2\relax
\ifleapyear\advance\dayofyear by 1\relax\fi
\fi
\advance\dayofyear by \@day\relax
}
-
\newcount\dayofweek
-
\providecommand{\computedayofweek}[3]{%
\computedayofyear{#1}{#2}{#3}%
\@dtctr=#3\relax
@@ -353,7 +355,6 @@ should lie in the range 1-12}
\advance\dayofweek by -1\relax
\@modulo{\dayofweek}{7}%
\advance\dayofweek by 1\relax}
-
\providecommand{\dayofweeknameidenglish}[1]{%
\ifcase#1\relax
\or Sunday%
@@ -364,23 +365,24 @@ should lie in the range 1-12}
\or Friday%
\or Saturday%
\fi}
-
\providecommand{\dayofweeknameid}[1]{%
-\@ifundefined{languagename}{%
-\dayofweeknameidenglish{#1}}{%
+\if@dt@multilingual
\@ifundefined{dayofweeknameid\languagename}{%
+\ifthenelse{\equal{\languagename}{nohyphenation}}{}{%
+\PackageWarning{datetime}{No week day names defined for language
+'\languagename', defaulting to English}}%
\dayofweeknameidenglish{#1}}{%
-\csname dayofweeknameid\languagename\endcsname{#1}}}%
+\csname dayofweeknameid\languagename\endcsname{#1}}%
+\else
+\dayofweeknameidenglish{#1}%
+\fi
}
-
\providecommand{\dayofweekname}[3]{%
\computedayofweek{#1}{#2}{#3}%
\dayofweeknameid{\dayofweek}%
}
-
\providecommand{\thisdayofweekname}{%
\dayofweekname{\day}{\month}{\year}}
-
\providecommand{\shortdayofweeknameidenglish}[1]{%
\ifcase#1\relax
\or Sun%
@@ -391,19 +393,22 @@ should lie in the range 1-12}
\or Fri%
\or Sat%
\fi}
-
\providecommand{\shortdayofweekname}[3]{%
\computedayofweek{#1}{#2}{#3}%
-\@ifundefined{languagename}{%
-\shortdayofweeknameidenglish{\dayofweek}}{%
+\if@dt@multilingual
\@ifundefined{shortdayofweeknameid\languagename}{%
-\shortdayofweeknameidenglish{\dayofweek}}{%
-\csname shortdayofweeknameid\languagename\endcsname\dayofweek}}%
+\ifthenelse{\equal{\languagename}{nohyphenation}}{}{%
+\PackageWarning{datetime}{No abbreviated week day names defined for
+language '\languagename', defaulting to long version}}%
+\dayofweeknameid{\dayofweek}}{%
+\csname shortdayofweeknameid\languagename\endcsname\dayofweek}%
+\else
+\shortdayofweeknameidenglish{\dayofweek}%
+\fi
}
-
+\providecommand{\thisshortdayofweekname}{%
+\dayofweekname{\day}{\month}{\year}}
\fi
-
-\providecommand{\thisshortdayofweekname}{\dayofweekname{\day}{\month}{\year}}
\if@dt@nodate
\else
\DeclareRobustCommand*{\today}{\formatdate{\day}{\month}{\year}}
@@ -455,24 +460,25 @@ should lie in the range 1-12}
\@ifundefined{datewelsh}{}{\input{dt-welsh.def}}
\fi
\if@dt@nodate
-\typeout{datetime package message : option "nodate" used, so not defining \protect\newdateformat}
+\PackageInfo{datetime}{option "nodate" used, so not
+defining \string\newdateformat}
\else
-
\providecommand\THEDAY{\the\@day}
\providecommand\THEMONTH{\the\@month}
\providecommand\THEYEAR{\the\@year}
\let\c@DAY=\@day
\let\c@MONTH=\@month
\let\c@YEAR=\@year
-
-\providecommand{\dateformat}[4]{\@day=#2\relax\@month=#3\relax\@year=#4\relax#1}
-
+\providecommand{\dateformat}[4]{%
+\@day=#2\relax\@month=#3\relax\@year=#4\relax#1}
\providecommand{\newdateformat}[2]{%
-\@ifundefined{#1}{\expandafter\DeclareRobustCommand\csname#1\endcsname{\renewcommand{\formatdate}{\dateformat{#2}}}}{%
-\PackageError{datetime}{Can't create new date format, command \textbackslash#1 already defined}{You will need to
-give you new date format a different name}}}
+\@ifundefined{#1}{%
+\expandafter\DeclareRobustCommand\csname#1\endcsname{%
+\renewcommand{\formatdate}{\dateformat{#2}}}}{%
+\PackageError{datetime}{Can't create new date format, command
+\textbackslash#1 already defined}{You will need to
+give your new date format a different name}}}
\fi
-
\newcount\c@HOUR
\newcount\c@HOURXII
\newcount\c@MINUTE
@@ -483,7 +489,6 @@ give you new date format a different name}}}
\def\THEMINUTE{\the\c@MINUTE}
\def\THETOHOUR{\the\c@TOHOUR}
\def\THETOMINUTE{\the\c@TOMINUTE}
-
\providecommand{\newtimeformat}[2]{%
\@ifundefined{#1}{%
\expandafter\def\csname#1\endcsname{%
@@ -504,11 +509,14 @@ give you new date format a different name}}}
#2\relax
}}{%
\PackageError{datetime}{Command \textbackslash#1 already defined}{%
-You can't create a new time format called "#1" as the command \textbackslash#1 already exists}}}
-\newtimeformat{xxivtime}{\twodigit\THEHOUR\timeseparator\twodigit\THEMINUTE}
-
-\newtimeformat{ampmtime}{\THEHOURXII\timeseparator\twodigit\THEMINUTE\ifthenelse{\value{HOUR}<12}{\amname}{\ifthenelse{\time=720}{ \noon}{\pmname}}}
-
+You can't create a new time format called "#1" as the command
+\textbackslash#1 already exists}}}
+\newtimeformat{xxivtime}{%
+\twodigit\THEHOUR\timeseparator\twodigit\THEMINUTE}
+\newtimeformat{ampmtime}{%
+\THEHOURXII\timeseparator\twodigit\THEMINUTE
+\ifthenelse{\value{HOUR}<12}{\amname}{%
+\ifthenelse{\time=720}{ \noon}{\pmname}}}
\newtimeformat{oclock}{\ifthenelse{\time=0 \or \time=720}{%
\ifthenelse{\time=0}{\midnight}{\noon}}{%
\ifthenelse{\value{MINUTE}=0}{%
@@ -520,49 +528,64 @@ You can't create a new time format called "#1" as the command \textbackslash#1 a
\ifthenelse{\value{MINUTE}=45}{%
\quarterto\ \Numberstring{TOHOUR}}{%
\ifthenelse{\value{MINUTE}<30}{%
-\Numberstring{MINUTE}\ \ifthenelse{\value{MINUTE}=1}{minute}{minutes} past \Numberstring{HOURXII}}{%
-\Numberstring{TOMINUTE}\ \ifthenelse{\value{TOMINUTE}=1}{minute}{minutes} to \Numberstring{TOHOUR}}}}}}\
+\Numberstring{MINUTE}\ \ifthenelse{\value{MINUTE}=1}{minute}{minutes}
+past \Numberstring{HOURXII}}{%
+\Numberstring{TOMINUTE}\ \ifthenelse{%
+\value{TOMINUTE}=1}{minute}{minutes} to \Numberstring{TOHOUR}}}}}}\
\ifthenelse{\value{HOUR}<12}{%
\amstring}{%
\pmstring}}}
-
\providecommand{\amname}{am}
\providecommand{\pmname}{pm}
-\providecommand{\amorpmname}{\ifthenelse{\value{HOUR}>12}{\pmname}{\amname}}
+\providecommand{\amorpmname}{%
+\ifthenelse{\value{HOUR}>12}{\pmname}{\amname}}
\providecommand{\amstring}{in the morning}
\providecommand{\pmstring}{in the afternoon}
-\providecommand{\amorpmstring}{\ifthenelse{\value{HOUR}>12}{\pmstring}{\amstring}}
+\providecommand{\amorpmstring}{%
+\ifthenelse{\value{HOUR}>12}{\pmstring}{\amstring}}
\providecommand{\halfpast}{Half past}
\providecommand{\quarterpast}{Quarter past}
\providecommand{\quarterto}{Quarter to}
\providecommand{\noon}{Noon}
\providecommand{\midnight}{Midnight}
\providecommand{\oclockstring}{O'Clock}
-
-\newcount\pdftimectr
-\newcount\pdfdatectr
-
-\pdftimectr=0\relax
+\toksdef\dt@a=0 \toksdef\dt@b=2
+\edef\pdfdate{\the\year}
+\dt@b=\expandafter{\pdfdate}
+\dt@a=\expandafter{\the\month}
+\ifnum\month<10
+\edef\pdfdate{\the\dt@b0\the\dt@a}
+\else
+\edef\pdfdate{\the\dt@b\the\dt@a}
+\fi
+\dt@b=\expandafter{\pdfdate}
+\dt@a=\expandafter{\the\day}
+\ifnum\day<10
+\edef\pdfdate{\the\dt@b0\the\dt@a}
+\else
+\edef\pdfdate{\the\dt@b\the\dt@a}
+\fi
\@dtctr=\time%
\divide\@dtctr by 60\relax
-\multiply\@dtctr by 10000\relax
-\pdftimectr=\@dtctr
+\dt@b=\expandafter{\pdfdate}
+\dt@a=\expandafter{\the\@dtctr}
+\ifnum\@dtctr<10
+\edef\pdfdate{\the\dt@b0\the\dt@a}
+\else
+\edef\pdfdate{\the\dt@b\the\dt@a}
+\fi
\@dtctr=\time%
\@modulo{\@dtctr}{60}%
-\multiply\@dtctr by 100\relax
-\advance\pdftimectr by \@dtctr
-\pdfdatectr=\day
-\@dtctr=\month
-\multiply\@dtctr by 100\relax
-\advance\pdfdatectr by \@dtctr
-\@dtctr=\year
-\multiply\@dtctr by 10000\relax
-\advance\pdfdatectr by \@dtctr
-\ifnum\pdftimectr<100000
-\edef\pdfdate{\the\pdfdatectr0\the\pdftimectr}
+\dt@b=\expandafter{\pdfdate}
+\dt@a=\expandafter{\the\@dtctr}
+\ifnum\@dtctr<10
+\edef\pdfdate{\the\dt@b0\the\dt@a}
\else
-\edef\pdfdate{\the\pdfdatectr\the\pdftimectr}
+\edef\pdfdate{\the\dt@b\the\dt@a}
\fi
+\dt@a={00}
+\dt@b=\expandafter{\pdfdate}
+\edef\pdfdate{\the\dt@b\the\dt@a}
\endinput
%%
%% End of file `datetime.sty'.