Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What calendar appears to count days since December 28, 1800?

I have been tasked to read in some data from some weird old system.
The system contains many dates but they are all oddly formatted. They are integer numbers ranging from approximately 55,000 to 80,000.

I know two dates for certain:

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.

It appears to me that those integer numbers are the number of days elapsed since December 28, 1800. But I think that's a very strange date to start a calendar on. There is probably going something on with leap years and what-not that is going to cause problems later on.

Does anyone recognise this calendar? Can anyone tell me what the proper way is to convert those integers to human readable dates?

like image 872
Sander Marechal Avatar asked Apr 09 '10 11:04

Sander Marechal


4 Answers

It could be Clarion. I'm working with similar old database conversion to SQL, and it figured out files (*.dat) were clarion

like image 95
prosyger Avatar answered Nov 29 '22 13:11

prosyger


I'm working with a system representing gregorian dates in julian calendar, if you want to convert a julian date to gregorian, you only need to add the quantity days to December 28 1800.

In SQL Server :

SELECT DATEADD(day, 58112, '18001228')

by example. Sorry, I don't speak english. The base date in your system is December 28 1800.

like image 26
Ricardo Lezama R Avatar answered Nov 29 '22 13:11

Ricardo Lezama R


sounds like a bespoke system to me, but a rather strange one :)

one way to convert that will always work is use some sort of date_add() function - you don't specify which language you're using but most modern languages should have a way to add a bunch of days to a date.

regarding leap years, if those 2 dates are correct then you shouldn't have a problem, there was definitely at least 1 leap year betweek 1960 and 1969 :) it's definitely worth checking a few more recent dates just to make sure though.

like image 35
chris Avatar answered Nov 29 '22 13:11

chris


It is not so strange. For example, date on Javacards is calculated by similiar scheme starting from 1986-02-04: http://forums.sun.com/thread.jspa?threadID=5421557&messageID=10894720#10894720

like image 40
Vladislav Rastrusny Avatar answered Nov 29 '22 14:11

Vladislav Rastrusny