2015-10-21 12 views
9

私はちょうど約common falsehoods regarding timeについてこの心を吹くと陽気な記事を読んできました。数40は、次のとおりです。すべての整数はすべての整数は可能な年の値ですか?

理論的な可能性年である

これは、すべての整数がない理論的な可能性年であることを意味しています。ここで否定的なケースは何ですか?理論的に可能な年ではない整数は何ですか?

+10

興味深い質問ですが、まったくプログラミングに関連していません... – John3136

+5

たとえば、0はありません。 https://en.wikipedia.org/wiki/0_yyy –

+7

@ John3136システムの設計について知っておくことは重要なので、反対です。 –

答えて

18

コンテキストによっては、0は有効な年番号ではありません。現在使用しているグレゴリオ暦(旧暦ではユリウス暦)では、1年目(CE/AD)の直前に-1(BC/BC)の年が1つあります。 (グレゴリオ暦が導入される前の日付については、ユリウス暦またはproleptic Gregorian calendarのいずれかを使用できます)。

プログラミングの文脈では、これは直接関係しているかもしれません。異なる言語、ライブラリ、およびフレームワークは、さまざまな方法で年を表します。たとえば、ISO 8601は、0000から9999までの年をサポートします(0000は1 BCEです)。より広い範囲は相互の合意によって支持されることができる。 C標準ライブラリのいくつかの実装は、約1901年から2038年までの時間しか表現できません。 64ビットのtime_tを使用するものは、より広い範囲を表すことができ、通常、-1,0、および1を連続した年として扱います。

最終的には、使用している言語/ライブラリ/フレームワークのドキュメントを確認する必要があります。

+1

[ジュリアンからグレゴリアン](http://www.timeanddate.com/calendar/julian-gregorian-switch.html)のスイッチには、「どの国が日付をチェックしていますか? "西暦によると、ロシアのオクトーバー革命は11月に起こった。 (まったく逆に、私は決して思い出すことができません。) – usr2564301

+2

@Jongware:はい、この特定の質問には関係ありません。理論的に可能な年のセットは、両方で同じです。 –

+0

任意の負数は1年として無効です。 「44BC」または「44BCE」では、「44」は正である。負の年が正当であるカレンダーシステムがあるかもしれませんが、わかりません。確かにグレゴリオ暦もジュリアンも適格ではない。 –

関連する問題