我意识到 Perl 有 strftime,它允许你传递一个格式化对象。我想知道是否可以找到的功能更像以下(来自 PHP):
$string1 = "Jun 6, 2012";
$string2 = "June 06 2012";
if (strtotime($string1) == strtotime($string2)) {
echo "BLAMMO!";
}
// will echo "BLAMMO!"
其原因是业务需求需要比较用户提供的日期以进行验证和扩展逻辑(此日期是否属于还提供的另一个日期范围等)。现在,我意识到我可以编写一个专门用于执行此操作的整个库,并且我意识到日期解析存在许多潜在的陷阱,您永远不应该相信用户输入,但这里有一些基本假设。
- 输入实际上是从任意数量的软件包中输出的,这些软件包符合它们自己的日期格式内部规范。它们都遵循一些标准,但这些标准在程序之间并没有统一规范。话虽如此,我应该总是比较来自同一个程序的两个日期,但我可能永远不知道它们可能遵循什么格式。
- 我意识到任何给定系统的标准可能会有所不同,但这里的假设是我们将所有日期都输入到同一事物中,因此我们可以信任一致的实现,希望在 CPAN 或其他易于更新的模块中实现.