0

当我在这里在线查看622-07-19 的工作日时,它显示为星期五。但是,当我使用 PHP 时,它会显示星期六。哪一个正确显示工作日?

<?php echo date('Y-m-d H:i:s l', strtotime('0622-07-19 00:00:00'));?>
4

1 回答 1

0

如果您在谈论公历,那么您的在线检查器是正确的 - 现在是星期五,我不理解 PHP 输出。可能是将其解释为儒略日期,但这也是不正确的。

我怀疑你意思是公历,因为 622 年 7 月 19 日(公历)是伊斯兰历的民用纪元。这等于 622 年 7 月 16 日(朱利安),这是指日期的更常见方式。

来自关于伊斯兰历法的维基百科文章

伊斯兰历(1 Muharram 1 AH)第一个月的第一天是公元 622 年 7 月 16 日星期五,这是儒略历中等效的民用表格日期(相同的日光时间)。[22][23] 伊斯兰日从 7 月 15 日傍晚的日落开始。

(关于从日落开始的日子的部分让事情变得很混乱,但我建议你暂时忽略它——它不能解释你的 PHP 结果。)

如果您有兴趣了解有关 PHP 哪里出错的更多信息,我建议您进行二进制检查以找出问题所在 - 尝试 PHP 和其他来源中的各种日期。所以今天尝试(这很可能是正确的,但为了理智值得这样做)然后在 622 和今天之间的中间,等等。

一旦您确定了 PHP 正确的日期,就应该更容易找出发生这种情况的原因。

于 2013-09-08T16:52:48.337 回答