トップページ > .CELXスクリプトガイド > 時間

時間


celestia:gettime


number celestia:gettime()
現在のシミュレーション時刻をユリウス日で取得します。
例:
-- ユリウス日を表示
celestia:flash(celestia:gettime())

celestia:settime


celestia:settime(number:time)
シミュレーション時刻をユリウス日で設定します。
time: 設定するユリウス日。
例:
-- 現在のシミュレーション時刻の日付の20時(日本時間)に設定
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)
シミュレーション時刻をユリウス日で設定します。
timescale: 設定する時間の速さ。
例:
-- 時間を3秒ごとに速くする
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)
年月日などを指定してユリウス日を取得します。
year: 年
month: 月
day: 日
hour: 時
minute: 分
seconds: 秒
例:
-- 2007年1月1日0時00分00秒(日本時間)に設定
celestia:settime(celestia:tojulianday(2007, 1, 1, 9, 0, 0))

celestia:fromjulianday


celestia:fromjulianday(number:jd)
ユリウス日から年月日等を取得します。取得される値はテーブルとなります。
テーブルのキーはtojuliandayを参照してください。
jd: ユリウス日。
例:
-- 現在のシミュレーション時刻の日付の20時(日本時間)に設定し、日付を画面下に表示
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のユリウス日に変換します。
year: 年
month: 月
day: 日
hour: 時
minute: 分
seconds: 秒
なお、月・日が指定されない場合ば1、時・分・秒が指定されない場合は0がデフォルトになります。
例:
--

celestia:tdbtoutc


table celestia:tdbtoutc(number:tdb)
TDBのユリウス日をUTCの日付に変換します。
tdb: TDBのユリウス日
返されるテーブルのキーは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
画面分割時、各画面で時刻を同期するかを設定します。
同期しない場合、それぞれの画面で独立にシミュレーション時刻を設定できます。
ここで再び同期させた場合、シミュレーション時刻はアクティブな画面のものとなります。
synched: 同期・非同期の設定。trueで同期、falseで非同期。
例:
--

celestia:istimesynchronized


boolean celestia:istimesynchronized()
1.6.1
画面分割時、各画面で時刻を同期してあるかを取得します。
例:
--

トップページ > .CELXスクリプトガイド > 時間