SQLite julianday()
関数は、紀元前4714年11月24日のグリニッジの正午からの日数を返します。 (先発グレゴリオ暦を使用)。
先発ユリウス暦を使用している場合、これは紀元前4713年1月1日月曜日です。
ユリウス日は、ユリウス日が始まってからの連続した日数です。通常、天文学者やソフトウェアなどが2つのイベント間の経過日数を計算するために使用します。
この関数を使用するには、時間文字列に加えて、任意の(オプションの)修飾子を指定する必要があります。モディファイアを使用すると、日数を追加したり、現地時間に設定したりするなど、日付を変更できます。
構文
構文は次のようになります:
julianday(timestring, modifier, modifier, ...)
timestring
引数は有効な時間文字列である必要があります。
modifier
引数はオプションです。 1つ以上の修飾子を指定できます。修飾子を指定する場合は、有効な修飾子である必要があります。
例
julianday()
を示す例を次に示します。 1つの引数で使用されている関数。
SELECT julianday('now');
結果:
2458968.52391635
now
時間文字列はユリウス日に変換されます。
修飾子を追加する
修飾子を使用して、前の結果を変更できます。これが例です。
SELECT julianday('now', '+3 hours');
結果:
2458968.65149612
複数の修飾子
前述のように、1つ以上の修飾子を追加できます。前の例に別の修飾子を追加する例を次に示します。
SELECT julianday('now', '+3 hours', 'localtime');
結果:
2458969.0685371
ユリウス日()とstrftime()
julianday()
関数は、strftime('%J', ...)
とまったく同じ結果を返します。 戻り値。 julianday()
関数はそれを行うためのより便利な方法です。
SELECT
julianday('now'),
strftime('%J', 'now');
結果:
julianday('now') strftime('%J', 'now') ---------------- --------------------- 2458968.52807836 2458968.528078356
日付範囲
すべてのSQLite日付および時刻関数と同様に、julianday()
0000-01-0100:00:00から9999-12-3123:59:59(ユリウス日番号1721059.5から5373484.5)の間の日付でのみ機能します。
その範囲外の日付の場合、結果は未定義です。