Celestia/Celx 指令碼/CELX Lua 方法/CEL 命令 time
外觀
time { jd <juliandatenumber> }
-- 或者 --
time { utc <string> }
使用儒略日(十進位制數)或 UTC 時間字串設定日期和時間,格式為 YYYY-MM-DDTHH:MM:SS.SSSSS。
引數
- jd <juliandatenumber>
- 有效的儒略日。無預設值。
-- 或者 --
引數
- utc <string>
- 有效的 UTC 格式日期:YYYY-MM-DDTHH:MM:SS.SSSSS。無預設值。
注意:要從普通日曆日期獲得儒略日,請嘗試位於以下位置的美國海軍日曆日期/時間到儒略日期/時間轉換器:儒略日轉換器。
注意:在 Celestia 中,也可以從普通日曆日期獲得儒略日。在選單欄中選擇“時間”選項。接下來選擇“設定時間……”選項,然後將顯示“設定模擬時間”視窗。此視窗包含兩種時間格式,可用於將儒略日期/時間轉換為 UTC 日期/時間,反之亦然。
CELX 等效項
基於 celestia:settime() 方法和一些日期/時間轉換方法。
從版本 1.5.0 開始,儘管 Celestia 仍然在螢幕上顯示 UTC,但它在內部使用 TDB 時間尺度來執行其他所有操作,因此對於 CELX 指令碼 !!!
- 對於這些較新的 Celestia 版本,在 celestia:settime() 方法中使用 UTC 儒略日(作為 celestia:tojulianday() 方法的結果),會導致設定錯誤的模擬時間。要使用儒略日為這些較新的 Celestia 版本設定模擬時間,應使用 1.5.0 celestia:utctotdb() 方法。
- 對於這些較新的 Celestia 版本,使用 celestia:gettime() 方法獲取儒略日,並使用此 celestia:fromjulianday() 方法將其轉換為日曆日期/時間,將導致獲得錯誤的日曆日期/時間。要使用 celestia:gettime() 方法中的儒略日獲取正確的日曆日期/時間,對於這些較新的 Celestia 版本,應使用 1.5.0 celestia:tdbtoutc() 方法。
- 有關 TDB、UTC 以及 Celestia 如何使用時間的更多資訊,請參閱 時間尺度。
要進行日曆日期和儒略日期、UTC 和 TDB 之間的轉換,可以使用以下 Celestia 方法
- Celestia 版本 1.4.1 及更早版本.
將UTC 日曆日期轉換為UTC 儒略日並設定模擬日期/時間。如果未指定- <monthnumber> 和 <daynumber> 預設值為 1
- <hournumber>、<minutenumber> 和 <secondnumber> 預設值為零。
juliandate = celestia:tojulianday( <yearnumber>, <monthnumber>, <daynumber>,
<hournumber>, <minutenumber>, <secondnumber> )
celestia:settime(juliandate)
- Celestia 版本 1.4.1 及更早版本.
獲取模擬日期/時間並將UTC 儒略日轉換為UTC 日曆日期。
返回的表“utctable”包含鍵- utctable.year = <yearnumber>
- utctable.month = <monthnumber>
- utctable.day = <daynumber>
- utctable.hour = <hournumber>
- utctable.minute = <minutenumber>
- utctable.seconds = <secondnumber>
juliandate = celestia:gettime() utctable = celestia:fromjulianday(juliandate)
- Celestia 版本 1.5.0 及更高版本.
將UTC 日曆日期轉換為TDB 儒略日並設定模擬日期/時間。如果未指定- <monthnumber> 和 <daynumber> 預設值為 1
- <hournumber>、<minutenumber> 和 <secondnumber> 預設值為零。
tdbdate = celestia:utctotdb( <yearnumber>, <monthnumber>, <daynumber>,
<hournumber>, <minutenumber>, <secondnumber> )
celestia:settime(tdbdate)
- Celestia 版本 1.5.0 及更高版本.
獲取模擬日期/時間並將TDB 儒略日轉換為UTC 日曆日期。
返回的表“utctable”包含鍵- utctable.year = <yearnumber>
- utctable.month = <monthnumber>
- utctable.day = <daynumber>
- utctable.hour = <hournumber>
- utctable.minute = <minutenumber>
- utctable.seconds = <secondnumber>
tdbdate = celestia:gettime() utctable = celestia:tdbtoutc(tdbdate)
示例
如何將日期和時間設定為 2003 年 8 月 11 日 9:29:24 UTC 的示例。
CEL
time { jd 2452862.89542 }
...
time { utc "2003-08-11T09:29:24.0000" }
CELX Celestia 版本 1.4.1 及更早版本
celestia:settime(2452862.89542) ... juliandate = celestia:tojulianday(2003, 08, 11, 09, 29, 24.0000) celestia:settime(juliandate)
CELX Celestia 版本 1.5.0 及更高版本
utctable = celestia:fromjulianday(2452862.89542)
tdbdate = celestia:utctotdb(utctable.year, utctable.month, utctable.day,
utctable.hour, utctable.minute,utctable.seconds)
celestia:settime(tdbdate)
...
tdbdate = celestia:utctotdb(2003, 08, 11, 09, 29, 24.0000 )
celestia:settime(tdbdate)