TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have two different dates in my latex document which is not current dates (dates which come in my latex template from the web form). They look like this: 2016-03-31, but I want these dates be in the format dd/mm/yyyy. What I'm doing right now is using package \usepackage[ddmmyyyy]{date time} and put inside the \date{} my dates, but it doesn't change the format of the dates. How to change the format of the date correctly?

share|improve this question
    
How is the date typeset? You are free to typeset it the way you like, no matter if 2016-03-07 or 07th of march 2016 or 03.07.2016. Please clarify. – Johannes_B Mar 7 at 12:57
1  
This is again a question by you that does not show the slightest effort :-( – Christian Hupfer Mar 7 at 13:04
up vote 6 down vote accepted

This works out the box. If - appears as the date separator there's probably a 'wrong'redefinition of \dateseparator.

Please note date datetime isn't developed further -- Nicola Talbot has published datetime2 about a year ago.

\documentclass{article}

\usepackage[ddmmyyyy]{datetime}
%\renewcommand{\dateseparator}{-}

\title{The Theory of Brontosaurs}
\author{Mrs. Ann Elk}
\date{\today}

\begin{document}
\maketitle
\end{document}

enter image description here

Update

Here's a version that transforms yyyy-mm-dd input into dd/mm/yyyy:

\documentclass{article}

\usepackage{xparse}

\ExplSyntaxOn
\newcommand{\changedate}[2][/]{%
  \tl_set:Nx \l_tmpa_tl {#2}
  \seq_set_split:NnV \l_tmpa_seq {-} {\l_tmpa_tl}
  \seq_reverse:N \l_tmpa_seq
  \seq_use:Nnnn \l_tmpa_seq {#1} {#1} {#1}
}
\ExplSyntaxOff

\title{The Theory of Brontosaurs}
\author{Mrs. Ann Elk}

\newcommand{\webdate}{2016-03-31}

\date{\changedate{\webdate}}


\begin{document}
%\changedate{\webdate}
\maketitle
\end{document}

enter image description here

share|improve this answer
    
This example is good if date refers to the today date, but what if it's the date 31.03.2016, not today, how can I define this date? – Lucky_girl Mar 7 at 14:10
1  
@Lucky_girl: \date{31/03/2016} ;-) Actually, you don't need \datetime at all if you want to fix the date already. \datetime changes the output format of \today, but \date{...} works without. – Christian Hupfer Mar 7 at 14:14
    
okay, but my date is in the format 2016-03-31 (it's just a text) in the document right now, can I change it automatically to the format 31/03/2016 ? – Lucky_girl Mar 7 at 14:25
    
@Lucky_girl: I don't understand. If it is text only you can change by hand. – Christian Hupfer Mar 7 at 14:27
1  
@Lucky_girl: That's in principle not the job of \date or of datetime. If you would finally post a compilable example that clearly explains what the issue is this would be much easier -- it's not Quantum Field Theory!!! Now my work proves useless :-( – Christian Hupfer Mar 7 at 14:32

\date doesn't try parsing its argument. It simply stores it and the stored value is inserted into the title page when you do \maketitle, so if you do \date{2016-03-31} then that's exactly what will appear. You need to either explicitly format it the way you want it, for example, \date{31/03/2016} (as the others have suggested) or wrap the ISO date in a command that can parse it. For example:

\documentclass{article}

\usepackage[datesep=/,style=ddmmyyyy]{datetime2}

\title{Sample}
\author{Me}
\date{\DTMdate{2016-03-31}}

\begin{document}
\maketitle

Another date: \DTMdate{2016-03-07}.

\end{document}

Produces:

image of document

The other alternative is to modify the way \maketitle works so that it parses the value of \@date, but that requires knowing something about what class and packages you are using. Without a minimal working example (MWE) we can't help further with that.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.