在ado和sthlp文件顶部使用20230821日期格式而不是08aug2023

问题描述 投票:0回答:2

我正在编写一个实用程序,帮助维护打算在 GitHub 和/或 SSC 上发布的 Stata 包。它尚未发布,因此缺乏文档,但存储库是公开的,因此如果有人好奇,这里有一个链接:https://github.com/lsms-worldbank/adodown。这是

ad_publish
命令的一部分。

我目前正在开发的工具可以自动更新 ado 和 sthlp 文件标题中的版本和日期的手动过程。我的问题是关于日期的格式。

Ado 文件的第一行通常有这样的内容:

  • *! version 3.31  26apr2022  Ben Jann
    (estout)
  • *! version 6.12.3 08aug2023
    (reghdfe)

和 sthlp(/hlp) 文件:

  • {* 01feb2017}{...}
    (estout)
  • {* *! version 6.12.3 08aug2023}{...}
    (reghdfe)

日期可以采用不同的格式吗?在 .pkg 文件中,有一行

d Distribution-Date: 20230821
(reghdfe),其中日期始终采用该格式。这是 Stata 关于 pkg 文件的文档,始终使用
20230821
格式。虽然它没有明确说明需要任何格式。

所以我的问题是,有没有人看到在 ado 和 sthlp 文件的标头中不使用

20230821
格式的原因? (除了我们的美国朋友在日之前出现月份时感到困惑:))。我认为这种日期格式在这种情况下更好,因为
20230821
可以按字母数字排序,以对
08aug2023
无法排序的日期进行排序。

为了完成,这是我打算使用的格式。我唯一不相信会很好地工作的是日期格式。

  • 废话:
    *! version V.V YYYYMMDD <author> <contact>
  • Sthlp:
    {* *! version V.V YYYYMMDD }{...}
package stata ado
2个回答
1
投票

据我了解,Stata 一点也不关心你在

*!
后面放什么。它只是查找以这种方式开头的行,并根据
which
查询回显它们。

相比之下,我认为为了 Kit Baum 的方便,SSC 上用于维护 .pkg 文件的例程标准化了日期格式 20230213。

在我自己的命令中,我通常遵循我之前在同一命令中使用的日期格式,无论是 13feb2023 还是 13 Feb 2023 或者 13 February 2023。在 30 年的 ados 写作生涯中,我没有听到过任何日期格式是对其他人来说都是有问题的,而且我无法想象您的格式除了第三方可能不愿意采用之外还有任何问题。

我不使用也无法在 GitHub 上发表评论。


0
投票

关于日期格式,Stata 提供了日期显示方式的灵活性:

  1. Stata 日期格式:

    • Stata 以数字方式存储日期,但您可以应用不同的显示格式来控制它们的显示方式。
    • %td
      格式将每日日期显示为“20jan2010”或“2010.01.20”。
    • %tc
      格式将日期和时间显示为“20jan2010 15:15:30”或“Wed Jan 20 15:15:30 2010”。
    • 您可以通过指定其他格式字符来进一步自定义这些格式。
  2. 您建议的格式

    • 使用“YYYYMMDD”格式(例如“20230821”)是一种有效的方法。
    • 它的优点是可以按字母数字排序,这对于组织文件很有用。
    • 只要始终如一地应用它,它应该适用于 ado 和 sthlp 文件。
  3. 注意事项

    • 确保您的实用程序在所有文件中一致应用所选格式。
    • 注意 Stata 社区或特定包存储库中的任何现有约定。
    • 虽然“YYYYMMDD”格式很清晰,但一些用户可能仍然更喜欢更易于理解的格式(例如“08aug2023”)。
  4. 处理月日混乱

    • 您幽默地提到了我们的美国朋友和月日订单。 😄
    • 如果您确信“YYYYMMDD”格式适合您的需求,请继续使用它。
    • 请做好准备接受习惯其他日期格式的人偶尔的友好玩笑!

您建议的格式应该可以很好地工作,特别是对于排序目的。只要您始终如一地应用它并清楚地记录下来,这就是一个合理的选择。快乐编码! 🚀

© www.soinside.com 2019 - 2024. All rights reserved.