我想在我的简历中
N年Java经验
其中 N 将根据 LaTeX 文件中提供的日期生成。
最好以四舍五入的年份表示,例如,如果开始日期是 2012-06-04 并且输出是在 2014-04-04 生成的,那么 N 就是 2。
答案1
使用我在回答中定义的函数的宏一年中的某一天
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\roundyears}{mmm}
{% #1 = year, #2 = month, #3 = day (beginning of experience
\fp_eval:n
{
floor (
( \juliandate_calc:nnnn { \day } { \month } { \year } { \use:n }
-
\juliandate_calc:nnnn { #3 } { #2 } { #1 } { \use:n } ) / 365
)
}
}
\cs_new:Npn \juliandate_calc:nnnn #1 #2 #3 #4 % #1 = day, #2 = month, #3 = year, #4 = what to do
{
#4
{
\int_eval:n
{
#1 +
\int_div_truncate:nn
{
153 * (#2 + 12 * \int_div_truncate:nn { 14 - #2 } { 12 } - 3) + 2
}
{ 5 } +
365 * (#3 + 4800 - \int_div_truncate:nn { 14 - #2 } { 12 } ) +
\int_div_truncate:nn { #3 + 4800 - \int_div_truncate:nn { 14 - #2 } { 12 } } { 4 } -
\int_div_truncate:nn { #3 + 4800 - \int_div_truncate:nn { 14 - #2 } { 12 } } { 100 } +
\int_div_truncate:nn { #3 + 4800 - \int_div_truncate:nn { 14 - #2 } { 12 } } { 400 } -
32045
}
}
}
\ExplSyntaxOff
\begin{document}
\roundyears{2011}{05}{06}
\roundyears{2012}{05}{03}
\roundyears{2012}{07}{12}
\end{document}