Skip to content
頁內導航

運限 ​

^2.6.2 運限查詢使用所屬星盤產生時保存的配置和語言。修改全局預設值或建立另一張星盤不會改變既有星盤的查詢結果。horoscope() 接受有效的 Date 物件或日期字串,省略日期時使用呼叫時的當前時間。明確傳入的時辰必須為 0~12 的整數,非法日期和時辰會拋出錯誤。

前言 ​

紫微斗數的運限分為 大限、小限、流年、流月、流日、流時、流分、流秒 等等,如果你還不知道運限的概念或不知道能為你做什麼,請閱讀 紫微斗數運限。在 iztro 中,僅提供 大限、小限、流年、流月、流日、流時。其中,大限、流年、流月、流日 和 流時 都會提供 流曜 與 四化;流月、流日、流時 的流曜從 v2.4.4 起提供。小限 比較特殊,它沒有獨立的流曜,小限 的四化是以該宮位的 宮干 來起四化的。

提示

運限的年、月干支分界由星盤生成時保存的配置項 horoscopeDivide 控制;小限虛歲分界由 ageDivide 控制。

功能類定義 ​

開發建議

因為運限是基於星盤而存在的,所以我們並不推薦你手動 new 一個運限對象,而是使用星盤實例的方法返回的對象使用。星盤的 horoscope() 方法將會返回運限對象。

ts
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
    interface 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;
    }
    ^2.6.1 palaceName 支援任一已配置語言的宮位名稱,不要求與星盤的輸出語言一致。例如,中文星盤也可以傳入英文宮位名 "soul"。
  • 屬性

    參考 Horoscope

  • 方法

    toJSON() ^2.6.0 ​

    • 用途

      將功能運限轉換為普通 JSON 對象。返回結果不包含分析方法和關聯星盤等運行時引用;循環引用會被安全忽略。

    • 定義

      ts
      type toJSON = () => Horoscope;
    • 參數

      無

    • 返回值

      Horoscope

    • 示例

      ts
      import { astro } from "iztro";
      
      const astrolabe = astro.bySolar("2000-8-16", 2, "女");
      const data = astrolabe.horoscope("2023-8-19").toJSON();

    agePalace() v1.3.0 ​

    • 用途

      獲取 小限 所在宮位

    • 定義

      ts
      type agePalace: () => FunctionalPalace | undefined;
    • 參數

      無

    • 返回值

      FunctionalPalace | undefined

    • 示例

      ts
      import { 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 ​

    • 用途

      獲取指定運限宮位

    • 定義

      ts
      type palace = (
        palaceName: PalaceName, 
        scope: Scope
      ) => FunctionalPalace | undefined;
    • 參數

      參數類型是否必填默認值說明
      palaceNamePalaceNametrue-宮位名稱
      scopeScopetrue-運限名稱
    • 返回值

      FunctionalPalace | undefined

    • 示例

      如果你想獲取 大限 的 夫妻宮

      ts
      import { 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 ​

    • 用途

      獲取運限指定宮位的三方四正宮位

    • 定義

      ts
      type surroundPalaces = (
        palaceName: PalaceName, 
        scope: Scope
      ) => FunctionalSurpalaces | undefined;
    • 參數

      參數類型是否必填默認值說明
      palaceNamePalaceNametrue-宮位名稱
      scopeScopetrue-運限名稱
    • 返回值

      FunctionalSurpalaces | undefined

    • 示例

      如果你想獲取 流年夫妻宮 的三方四正宮位

      ts
      import { 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

    • 定義

      ts
      type hasHoroscopeStars = (
        palaceName: PalaceName, 
        scope: Scope, 
        horoscopeStar: StarName[]
      ) => boolean;
    • 參數

      參數類型是否必填默認值說明
      palaceNamePalaceNametrue-宮位名稱
      scopeScopetrue-運限名稱
      horoscopeStarStarName[]true-流曜數組
    • 返回值

      boolean

    • 示例

      如果你想獲取 流年夫妻宮 內是否有 流喜 和 流曲

      ts
      import { 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

    • 定義

      ts
      type notHaveHoroscopeStars = (
        palaceName: PalaceName, 
        scope: Scope, 
        horoscope: StarName[]
      ) => boolean;
    • 參數

      參數類型是否必填默認值說明
      palaceNamePalaceNametrue-宮位名稱
      scopeScopetrue-運限名稱
      horoscopeStarStarName[]true-流曜數組
    • 返回值

      boolean

    • 示例

      如果你想獲取 流年夫妻宮 內是否沒有 流喜 和 流曲

      ts
      import { 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

  • 定義

    ts
    type hasOneOfHoroscopeStars= (palaceName: PalaceName, scope: Scope, horoscopeStar: StarName[]) => boolean;
  • 參數

    參數類型是否必填默認值說明
    palaceNamePalaceNametrue-宮位名稱
    scopeScopetrue-運限名稱
    horoscopeStarStarName[]true-流曜數組
  • 返回值

    boolean

  • 示例

    如果你想獲取 流年夫妻宮 內是否有 流喜 或 流曲

    ts
    import { 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 ​

  • 用途

    判斷指定運限宮位內是否存在運限四化

  • 定義

    ts
    type hasHoroscopeMutagen = (palaceName: PalaceName, scope: Scope, horoscopeMutagen: Mutagen) => boolean;
  • 參數

    參數類型是否必填默認值說明
    palaceNamePalaceNametrue-宮位名稱
    scopeScopetrue-運限名稱
    horoscopeMutagenMutagentrue-四化
  • 返回值

    boolean

  • 示例

    如果你想獲取 流年夫妻宮 內是否有 化祿

    ts
    import { astro } from "iztro";
    
    const astrolabe = astro
      .astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");
    const flag = astrolabe
      .horoscope('2023-10-26', 2)
      .hasHoroscopeMutagen("夫妻", "yearly", "祿");

© 2025 iztro.com All rights reserved.
友情链接: 紫微派