轻量查询
不排整盘就能拿到的生肖、星座与命宫主星。
有些问题不需要整张星盘。这五个函数各自只跑到必要的那一步就返回, 结果与完整排盘的对应字段永远一致——它们走的是同一套核心逻辑。
本页示例统一用默认的 zh-CN 排盘,因此输出里的展示值都是中文。
from x_iztro import queryget_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_date | str | 是 | — | 公历日期,格式 YYYY-M-D |
language | str | 否 | "zh-CN" | 输出语言 |
config | ChartConfig | None | 否 | None | 仅 year_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_date | str | 是 | — | 日期,格式 YYYY-M-D |
is_leap_month | bool | 否 | False | 仅农历版本:该月是否闰月 |
language | str | 否 | "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_date | str | 是 | — | 日期 |
time_index | int | 是 | — | 时辰索引 0–12,命宫由月份与时辰共同决定。之后的参数只能按关键字传入 |
is_leap_month | bool | 否 | False | 仅农历版本 |
fix_leap | bool | 否 | True | 是否修正闰月 |
language | str | 否 | "zh-CN" | 输出语言 |
config | ChartConfig | None | 否 | None | 排盘配置 |
返回值 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边界与陷阱