2012-05-04 48 views
3

“地理位置是对物体的真实世界地理位置的标识,地理定位可能指的是评估位置或评估实际位置的做法。 - http://en.wikipedia.org/wiki/Geolocation时间定位 - 描述地理位置的时间等值

是否有一种标准的方式来描述超出Unix时间戳的时间位置/坐标?如果没有,请建议或描述一个大纲。这样的系统将正式倍,如:

  1. -13,750,000,000±11000000(大爆炸)
  2. 1970-01-01:00:00:00(Unix纪元)
  3. 1(年1 CE)

例如:Geolocations和Chronolocations经常缺乏精度 - 这只是一个考虑因素,但我相信还有更多。

我的目标是正式确定一种方式来存储和检索各种时间位置。你可能会想象这比听起来更复杂。

+4

博物馆工作者:“这只恐龙是67,000,012岁。”怀疑论者:“你怎么知道这12个?”博物馆工作人员:“呃,12年前我在这里开始工作时,已经有6700万年了!” –

回答

3

我从来没有听说过这样的系统,但它是相当琐碎写一个类,其中这样的结构化数据类型存在:

struct bigTime{ 
signed long int millenium; 
int decade; 
signed long int seconds; 
}time; 

你可以任意点前后存储milennia /(即使在1970年也是如此),对于长距离,数十年的中等距离,然后短时使用秒和毫秒。

您可以创建一个增加+/- X X秒,几分钟,几小时,几天,几周,几个月,几年,几十年,几个世纪,几千年的课程,这很简单。

Say you wanted to go 156 years back. that's -15 decades and -189 341 556 seconds. 

Or 3205 years and 2 weeks and a day back. That's -3 millenia, -20 decades, -159 080 630 seconds. 

Or even 67,000,012 years (from jonathan's offtopic joke). That's -67000 millenia, -1 decade -63 113 851.9 seconds. 

所有这些都是从今天开始的,但可以来自您选择的任意点。

我描述的系统会给你4.2万亿年的时间,以毫秒为单位工作,或多或少地减少所需的内存。 (我敢肯定,如果你尝试过,它可能会减少更多)

+0

你也许应该将它固定为某个任意日期为0.所以也许将它固定为unix时间戳。任何“当前”都会有现有库可以操纵的实际时间,您可以正确地遍历Julian和Gregorian日历。地理位置为0,0点。 – creuzerm

+1

这就是我在任意点之前/之后的意思,甚至是1970年的意思。我写这个的时候已经很晚了。 – evandentremont

+0

哈!我错过了你的观点的一部分! – creuzerm