運限
^2.6.2 運限查詢使用所屬星盤產生時保存的配置和語言。修改全局預設值或建立另一張星盤不會改變既有星盤的查詢結果。horoscope() 接受有效的 Date 物件或日期字串,省略日期時使用呼叫時的當前時間。明確傳入的時辰必須為 0~12 的整數,非法日期和時辰會拋出錯誤。前言
紫微斗數的運限分為 大限、小限、流年、流月、流日、流時、流分、流秒 等等,如果你還不知道運限的概念或不知道能為你做什麼,請閱讀 紫微斗數運限。在 iztro 中,僅提供 大限、小限、流年、流月、流日、流時。其中,大限、流年、流月、流日 和 流時 都會提供 流曜 與 四化;流月、流日、流時 的流曜從 v2.4.4 起提供。小限 比較特殊,它沒有獨立的流曜,小限 的四化是以該宮位的 宮干 來起四化的。
提示
運限的年、月干支分界由星盤生成時保存的配置項 horoscopeDivide 控制;小限虛歲分界由 ageDivide 控制。
功能類定義
開發建議
因為運限是基於星盤而存在的,所以我們並不推薦你手動 new 一個運限對象,而是使用星盤實例的方法返回的對象使用。星盤的 horoscope() 方法將會返回運限對象。
import { astro } from "iztro";
const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
const horoscope = astrolabe.horoscope('2023-10-26', 2);上述代碼執行以後將返回一個 FunctionalHoroscope 的實例。
FunctionalHoroscope
implements
IFunctionalHoroscope extends Horoscope該類所有屬性都是繼承自 Horoscope,然後在接口內定義了一些方法用於對星曜進行分析。
接口定義
ts^2.6.1interface IFunctionalHoroscope extends Horoscope { toJSON: () => Horoscope; agePalace: () => FunctionalPalace | undefined; palace: (palaceName: PalaceName, scope: Scope) => FunctionalPalace | undefined; surroundPalaces: (palaceName: PalaceName, scope: Scope) => FunctionalSurpalaces | undefined; hasHoroscopeStars: (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean; notHaveHoroscopeStars: (palaceName: PalaceName, scope: Scope, horoscope: StarName[]) => boolean; hasOneOfHoroscopeStars: (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean; hasHoroscopeMutagen: (palaceName: PalaceName, scope: Scope, horoscopeMutagen: Mutagen) => boolean; }palaceName支援任一已配置語言的宮位名稱,不要求與星盤的輸出語言一致。例如,中文星盤也可以傳入英文宮位名"soul"。屬性
參考 Horoscope
方法
toJSON() ^2.6.0
用途
將功能運限轉換為普通 JSON 對象。返回結果不包含分析方法和關聯星盤等運行時引用;循環引用會被安全忽略。
定義
tstype toJSON = () => Horoscope;參數
無
返回值
示例
tsimport { astro } from "iztro"; const astrolabe = astro.bySolar("2000-8-16", 2, "女"); const data = astrolabe.horoscope("2023-8-19").toJSON();
agePalace() v1.3.0
用途
獲取
小限所在宮位定義
tstype agePalace: () => FunctionalPalace | undefined;參數
無
返回值
FunctionalPalace|undefined示例
tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const agePalace = astrolabe .horoscope('2023-10-26', 2) .agePalace();
palace() v1.3.0
用途
獲取指定運限宮位
定義
tstype palace = ( palaceName: PalaceName, scope: Scope ) => FunctionalPalace | undefined;參數
參數 類型 是否必填 默認值 說明 palaceName PalaceNametrue- 宮位名稱 scope Scopetrue- 運限名稱 返回值
FunctionalPalace|undefined示例
如果你想獲取
大限的夫妻宮tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const spousePalace = astrolabe .horoscope('2023-10-26', 2) .palace("夫妻", "decadal");
surroundPalaces() ^1.3.0
用途
獲取運限指定宮位的三方四正宮位
定義
tstype surroundPalaces = ( palaceName: PalaceName, scope: Scope ) => FunctionalSurpalaces | undefined;參數
參數 類型 是否必填 默認值 說明 palaceName PalaceNametrue- 宮位名稱 scope Scopetrue- 運限名稱 返回值
FunctionalSurpalaces|undefined示例
如果你想獲取
流年夫妻宮的三方四正宮位tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const surpalaces = astrolabe .horoscope('2023-10-26', 2) .surroundPalaces("夫妻", "yearly");
hasHoroscopeStars() ^1.3.0
用途
判斷在指定運限的宮位內是否包含流曜,需要全部包含才返回true
定義
tstype hasHoroscopeStars = ( palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[] ) => boolean;參數
參數 類型 是否必填 默認值 說明 palaceName PalaceNametrue- 宮位名稱 scope Scopetrue- 運限名稱 horoscopeStar StarName[]true- 流曜數組 返回值
boolean示例
如果你想獲取
流年夫妻宮內是否有流喜和流曲tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .hasHoroscopeStars("夫妻", "yearly", ["流喜", "流曲"]);
notHaveHoroscopeStars() ^1.3.2
用途
判斷指定運限宮位內是否不含流曜,需要全部不包含才返回true
定義
tstype notHaveHoroscopeStars = ( palaceName: PalaceName, scope: Scope, horoscope: StarName[] ) => boolean;參數
參數 類型 是否必填 默認值 說明 palaceName PalaceNametrue- 宮位名稱 scope Scopetrue- 運限名稱 horoscopeStar StarName[]true- 流曜數組 返回值
boolean示例
如果你想獲取
流年夫妻宮內是否沒有流喜和流曲tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .notHaveHoroscopeStars("夫妻", "yearly", ["流喜", "流曲"]);
hasOneOfHoroscopeStars() ^1.3.3
用途
判斷指定運限宮位內是否含有指定流曜,只要包含其中一顆就返回true
定義
tstype hasOneOfHoroscopeStars= (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean;參數
參數 類型 是否必填 默認值 說明 palaceName PalaceNametrue- 宮位名稱 scope Scopetrue- 運限名稱 horoscopeStar StarName[]true- 流曜數組 返回值
boolean示例
如果你想獲取
流年夫妻宮內是否有流喜或流曲tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .hasOneOfHoroscopeStars("夫妻", "yearly", ["流喜", "流曲"]);
hasHoroscopeMutagen() ^1.3.4
用途
判斷指定運限宮位內是否存在運限四化
定義
tstype hasHoroscopeMutagen = (palaceName: PalaceName, scope: Scope, horoscopeMutagen: Mutagen) => boolean;參數
參數 類型 是否必填 默認值 說明 palaceName PalaceNametrue- 宮位名稱 scope Scopetrue- 運限名稱 horoscopeMutagen Mutagentrue- 四化 返回值
boolean示例
如果你想獲取
流年夫妻宮內是否有化祿tsimport { astro } from "iztro"; const astrolabe = astro .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN"); const flag = astrolabe .horoscope('2023-10-26', 2) .hasHoroscopeMutagen("夫妻", "yearly", "祿");