pgfkeys - 使用 pgfplotstablenew、pgfplotstablesave 存储今天的日期

pgfkeys - 使用 pgfplotstablenew、pgfplotstablesave 存储今天的日期

我正在制作一个简单的工具来生成燃尽图报告/跟踪任务进度;这是我第一次尝试更复杂的表格操作,所以可能有一些非常基本的东西我不明白。希望有更聪明的人能纠正我 :-)

我可以创建一个新表并将今天的日期放入其中。排版时显示正确(尽管重复且带有多余的逗号)。当我将该表输出到文件(output.dat)时,存储的不是日期,而是\today。这可能是由于使用create col/set

我的猜测是,“保存”功能没有对数据应用任何排版,所以我实际上想要将YYYY-MM-DD日期字符串存储到表中而不是\today。我尝试了多种将今天的日期存储到表中的方法(基于pgfkeys/pgfplotstable文档),但显然我的方法错了。

将其保存到输出文件时,将其格式化为日期的正确方法是什么?如能得到任何帮助,我将不胜感激!

这是我的 MWE:

    \documentclass{article}
    \usepackage{pgfplotstable}
    \usepackage[yyyymmdd]{datetime}
    \renewcommand{\dateseparator}{-}

    \pgfplotsset{compat=1.9}

    \begin{document}

    The current date is: \today

    \pgfplotstablenew[
        columns={Date},%
        create on use/Date/.style={create col/set={\today}, date type={\year-\month-\day}},%
    ]{1}\datestable

    \pgfplotstabletypeset[columns/Date/.style={string type}]{\datestable}

    \pgfplotstablesave[
        col sep=comma,%
        columns={Date},%
        columns/Date/.style={string type},%
    ]{\datestable}{output.dat}

    \end{document}

output.dat的内容:

Date,
\today ,
\today ,

答案1

我最终通过使用解决了我的问题

    create on use/Date/.style={create col/set/.expanded={{\isodate}}, date type},

这允许在存储之前扩展设定值。

相关内容