2015-04-03 187 views
0

在我的數據庫表中,我有一列timestamp without time zone類型。行包含以下值:BC date在PostgreSQL中意味着什麼?

  end_date 
--------------------------- 
timestamp without time zone 

    2774-04-18 22:59:49.88 BC 
    2015-04-07 06:06:21.738 
    2015-04-02 12:37:15.161 
    2015-03-26 15:58:45.864 
    2015-04-09 15:34:41.399 

只要BC意味着在基督之前。如何將BC轉換爲非BC時間戳?我很困惑,end_date > now()失敗2774-04-18 22:59:49.88 BC。爲什麼?

+0

明顯的答覆,添加2774年,它將是公元? – Wolph 2015-04-03 15:07:55

+1

由於end_date實際上是-4789年,它顯然會比'now()'小。 – Wolph 2015-04-03 15:09:27

+0

@Wolph SO 2000-11-11 BC是真正的-2000? – user3663882 2015-04-03 15:11:19

回答

2

這意味着基督之前 - 在PostgreSQL中timestamp的限制是:

  • 低:BC 4713
  • 高:294276 AD

date型進位進一步進入未來 - 未來的證據? see here for date types

+1

294276 AD(時間戳)或5874897 AD(日期)或178000000年(間隔) - 我相信我會很容易地睡覺,不用任何Y2K或[Y2038](http://en.wikipedia.org/wiki/Year_2038_problem ) 問題。 +1。 – StuartLC 2015-04-03 17:28:50