\documentclass{article}
\usepackage{ifthen}
\newcounter{theyear}
\setcounter{theyear}{\number\year}
\newcommand{\shorttoday}
{
\ifthenelse{\number\month<5}{May, }{\ifthenelse{\number\month <8}{August, }
{\addtocounter{theyear}{1} January, }}\value{theyear}}
\begin{document}
%\number\month
\shorttoday
\end{document}
Why this result?
Missing number, treated as zero
<to be read again>
\par
l.14
\value{theyear}doesn't print the value; for that you should use\thetheyear. All\numbertokens you're using are redundant. – egreg Mar 10 '16 at 15:14