トップページ > .CELXスクリプトガイド > 時間
時間
celestia:gettime
number celestia:gettime()
現在のシミュレーション時刻をユリウス日で取得します。
例:
celestia:flash(celestia:gettime())
celestia:settime
celestia:settime(number:time)
シミュレーション時刻をユリウス日で設定します。
例:
time = math.floor(celestia:gettime()+0.5)-0.5+(20-9)/24
celestia:settime(time)
celestia:gettimescale
number celestia:gettimescale()
現在のシミュレーション時間の速さを取得します。
実時間の速さの何倍か、になっています。
例:
tms = celestia:gettimescale()
s = "Timescale: " .. tms .. "\n"
s = s .. "Real 1 second(s) is presented as "1 / tms .." second(s)."
celestia:flash(s)
celestia:settimescale
celestia:settimescale(number:timescale)
シミュレーション時刻をユリウス日で設定します。
例:
tms = celestia:gettimescale()
t = {1, 2, 3, 5, 10, 20, 30, 50, 100, 500, 1000, 5000, 10000}
for i, value in ipairs(t) do
celestia:settimescale(t[i])
wait(3)
end
celestia:settimescale(tms)
celestia:getscripttime
number celestia:getscripttime()
Celestia起動時からの時間経過を取得します。単位は[秒]。
タイミングを計るのに便利です。
例:
while 1 do
celestia:flash(celestia:getscripttime())
wait(0.1)
end
celestia:tojulianday
number celestia:tojulianday(number:year, number:month, number:day, number:hour, number:minute, number:seconds)
年月日などを指定してユリウス日を取得します。
例:
celestia:settime(celestia:tojulianday(2007, 1, 1, 9, 0, 0))
celestia:fromjulianday
celestia:fromjulianday(number:jd)
ユリウス日から年月日等を取得します。取得される値はテーブルとなります。
テーブルのキーはtojuliandayを参照してください。
例:
time = math.floor(celestia:gettime()+0.5)-0.5+(20-9)/24
celestia:settime(time)
dt = celestia:fromjulianday(time)
display = dt.year .. "/" .. dt.month .. "/" .. dt.day .. " " .. "20:00"
celestia:print(display,10,0,-1,-7,2);
celestia:utctotdb
number celestia:utctotdb(integer: year [, integer: month] [, integer: day] [, integer: hour] [, integer: minute] [, real: seconds])
UTCの日付をTDBのユリウス日に変換します。
なお、月・日が指定されない場合ば1、時・分・秒が指定されない場合は0がデフォルトになります。
例:
celestia:tdbtoutc
table celestia:tdbtoutc(number:tdb)
TDBのユリウス日をUTCの日付に変換します。
返されるテーブルのキーはyear(年)、month(月)、day(日)、hour(時)、minute(分)、second(秒)です。
例:
celestia:getsystemtime
number celestia:getsystemtime()
1.6.0
OSのシステム時刻をTDBのユリウス日で取得します。
例:
celestia:ispaused
boolean celestia:ispaused()
1.6.0
シミュレーション時間の状態を取得します。
シミュレーション時間が停止していればtrue、そうでなければfalseを返します。
例:
celestia:synchronizetime
celestia:synchronizetime(boolean:synched)
1.6.1
画面分割時、各画面で時刻を同期するかを設定します。
同期しない場合、それぞれの画面で独立にシミュレーション時刻を設定できます。
ここで再び同期させた場合、シミュレーション時刻はアクティブな画面のものとなります。
例:
celestia:istimesynchronized
boolean celestia:istimesynchronized()
1.6.1
画面分割時、各画面で時刻を同期してあるかを取得します。
例:
トップページ > .CELXスクリプトガイド > 時間