轻量查询

不排整盘就能拿到的生肖、星座与命宫主星。

有些问题不需要整张星盘。这五个函数各自只跑到必要的那一步就返回, 结果与完整排盘的对应字段永远一致——它们走的是同一套核心逻辑。

本页示例统一用默认的 zh-CN 排盘,因此输出里的展示值都是中文。

from x_iztro import query

get_zodiac_by_solar_date

用途 由公历日期取生肖。

斗数含义 生肖由年支决定,而年支的换算时点受 year_divide 影响。 正月初一与立春之间出生的人,两种配置会得到不同的生肖——这不是缺陷,是流派差异。

签名

def get_zodiac_by_solar_date(
    solar_date: str,
    language: LanguageType = "zh-CN",
    config: ChartConfig | None = None,
) -> str

参数

参数类型必填默认说明
solar_datestr公历日期,格式 YYYY-M-D
languagestr"zh-CN"输出语言
configChartConfig | NoneNoneyear_divide 影响结果

返回值 str——按语言翻译的生肖名。

示例

print(query.get_zodiac_by_solar_date("2000-8-16"))

输出

边界与陷阱

跨年边界会随配置改变

默认按正月初一换年。改成 ChartConfig(year_divide="exact") 后按立春换年, 1 月下旬到 2 月上旬出生的人可能拿到不同生肖。


get_sign_by_solar_date / get_sign_by_lunar_date

用途 取星座。

斗数含义 星座是西洋占星概念,只由公历日期决定,与斗数算法无关。 农历版本先把农历转成公历再判定,因此两者对同一天的结果相同。

签名

def get_sign_by_solar_date(solar_date: str, language: LanguageType = "zh-CN") -> str
def get_sign_by_lunar_date(
    lunar_date: str,
    is_leap_month: bool = False,
    language: LanguageType = "zh-CN",
) -> str

参数

参数类型必填默认说明
solar_date / lunar_datestr日期,格式 YYYY-M-D
is_leap_monthboolFalse仅农历版本:该月是否闰月
languagestr"zh-CN"输出语言

config 参数——星座不受任何配置影响。

返回值 str

示例

print(query.get_sign_by_solar_date("2000-8-16"))
print(query.get_sign_by_lunar_date("2000-7-17"))

输出

狮子座
狮子座

get_major_star_by_solar_date / get_major_star_by_lunar_date

用途 只取命宫主星,不排整盘。

斗数含义 命宫主星是斗数最常被单独问起的一项。 命宫为空宫时按惯例借对宫主星来看,本函数已经处理了这一步。

签名

def get_major_star_by_solar_date(
    solar_date: str,
    time_index: TimeIndexType,
    *,
    fix_leap: bool = True,
    language: LanguageType = "zh-CN",
    config: ChartConfig | None = None,
) -> str

def get_major_star_by_lunar_date(
    lunar_date: str,
    time_index: TimeIndexType,
    *,
    is_leap_month: bool = False,
    fix_leap: bool = True,
    language: LanguageType = "zh-CN",
    config: ChartConfig | None = None,
) -> str

参数

参数类型必填默认说明
solar_date / lunar_datestr日期
time_indexint时辰索引 0–12,命宫由月份与时辰共同决定。之后的参数只能按关键字传入
is_leap_monthboolFalse仅农历版本
fix_leapboolTrue是否修正闰月
languagestr"zh-CN"输出语言
configChartConfig | NoneNone排盘配置

返回值 str——多颗主星以逗号分隔;空宫时返回对宫主星。

示例

print(query.get_major_star_by_solar_date("2000-8-16", 2))
print(query.get_major_star_by_solar_date("2000-8-16", 2, language="en-US"))

输出

紫微
emperor

边界与陷阱

本页目录