2

我需要在 PHP 中比较 Bikram Sambat 日期。假设今天在 AD 是 2012-08-03,今天的 BS 日期是 2069-04-19。在 BS 中,我们一个月的总天数从 29 到 32 不等。同样,每年的天数并不一致。例如,如果今年当月有 31 天,明年同月可能有 30 甚至 32 天。

我能想到的方法是,使用 php 日期转换器类(我已经拥有),将给定的 BS 日期转换为等效的 AD 日期并进行比较。只是我想知道是否有其他更好的方法可以在不使用我拥有的课程的情况下做到这一点?

通过在这里进行比较,我的意思是 a) 查找给定日期范围之间的天数。b)检查日期是否在给定的两个日期范围内 c)我们可以使用 php Date Function 对 AD 日期进行其他比较

非常感谢任何帮助。

4

2 回答 2

2

一般来说,我建议将两个日期都转换为 unix 时间戳(自公元 1970 年 1 月 1 日以来的秒数),这是一个用于比较的简单整数值。

显然,BS 背后没有简单的逻辑,因此您将无法找到直接将您从这里带到那里的分析表达式。如果您不想使用外部类,您可以编写某种(递归)函数,从公元 1970 年 1 月 1 日开始,您手动将其转换为 BS,并按照 BS 的规则从那里计算时间戳。

于 2012-08-03T09:31:38.563 回答
0

查看KashmirStamps.ca/Samvat.html的源代码

它将 BS 日期转换为 AD 日期。你会发现 Javascript 代码和逻辑。您可以轻松地将逻辑调整为 PHP 代码。

于 2012-08-03T10:08:27.767 回答