自1800年12月28日以来,几天的日历似乎有多少?

时间:2010-04-09 11:48:58

标签: datetime calendar leap-year

我的任务是从一些奇怪的旧系统中读取一些数据 系统包含许多日期,但它们都是奇怪的格式。它们是整数,范围从大约55,00080,000

我知道两个确定日期:

58,112 equals February 5, 1960  (originally written as Feb 2,1960 [*])
61,439 equals March 16, 1969

[*] This typo explains some of the comments initially challenging the
    leap-year awareness of the calendar.

在我看来,这些整数是自1800年12月28日以来经过的天数。但我认为这是开始日历的一个非常奇怪的日期。闰年可能正在发生一些事情,而不会在以后引起问题。

有人认出这个日历吗?任何人都可以告诉我将这些整数转换为人类可读日期的正确方法是什么?

5 个答案:

答案 0 :(得分:6)

可能是Clarion。我正在使用类似的旧数据库转换为SQL,它找出文件(* .dat)是号角

答案 1 :(得分:4)

我正在使用一个代表朱利安历法中格里高利日期的系统,如果你想将朱利安日期转换成格里高利,你只需要将数量天数加到1800年12月28日。

在SQL Server中:

SELECT DATEADD(day, 58112, '18001228')

以身作则。对不起,我不会说英语。系统中的基准日期为1800年12月28日。

答案 2 :(得分:3)

对我来说听起来像是一个定制的系统,但是一个相当奇怪的系统:)

转换的一种方法总是有用的是使用某种date_add()函数 - 你没有指定你正在使用哪种语言,但是大多数现代语言都应该有一种方法来添加一天的日期。

关于闰年,如果那2个日期是正确的那么你应该没有问题,肯定至少有一个闰年在1960年和1969年之间:)这绝对值得检查几个最近的日期只是为了确保虽然

答案 3 :(得分:2)

这并不奇怪。例如,Javacards上的日期是从1986-02-04开始的类似方案计算的:http://forums.sun.com/thread.jspa?threadID=5421557&messageID=10894720#10894720

答案 4 :(得分:2)

是的,这是Clarion Data文件。使用 Edit1.Text:= datetostr(encodedate(1800,12,28));