chinese_lunar_almanac 0.1.5 copy "chinese_lunar_almanac: ^0.1.5" to clipboard
chinese_lunar_almanac: ^0.1.5 copied to clipboard

A pure Dart Chinese traditional almanac (Huangli) library with GanZhi, solar terms, flying stars, lunar mansions, and Yi/Ji.

example/chinese_lunar_almanac_example.dart

import 'package:chinese_lunar_almanac/chinese_lunar_almanac.dart';

void main() {
  // 1. 初始化数据
  final testTime = AstroDateTime(2026, 3, 11, 22, 54, 48);
  final tp = TimePack.createBySolarTime(clockTime: testTime, timezone: 8.0);
  final day = HuangliDay.from(tp);

  print('=== 农历演示 Demo ===\n');

  // 2. 基础信息访问
  print('【基础日期】');
  print(
    '公历: ${day.solarDate.year}年${day.solarDate.month}月${day.solarDate.day}日',
  );
  print('农历: ${day.lunarDate}');
  print('干支: ${day.yearGanZhi}年 ${day.monthGanZhi}月 ${day.ganZhi}日');
  print('');

  // 3. 展现层分离:如何优雅地处理“难绷”的宜忌
  print('【宜忌展现 - 两种模式】');

  // 模式 A:全量模式(适合专业研究)
  print('--- 专业全量版 ---');
  print('宜: ${day.suitableActivities.join(", ")}');
  print('忌: ${day.tabooActivities.join(", ")}');

  // 模式 B:生活精简模式 (通过 Mask 过滤)
  print('\n--- 现代生活精简版 (精简 70% 杂项) ---');
  final cleanSuitable = day.yiJi.getSuitableLabels(
    mask: AlmanacActivity.civilian37,
  );
  final cleanTaboo = day.yiJi.getTabooLabels(mask: AlmanacActivity.civilian37);
  print('宜: ${cleanSuitable.join(", ")}');
  print('忌: ${cleanTaboo.join(", ")}');
  print('');

  // 4. 语义化访问 (前端最爱)
  print('【语义化 - 前端逻辑判断】');
  final enums = day.yiJi.getSuitableEnums();
  if (enums.contains(AlmanacActivity.jia_qu)) {
    print('💡 逻辑触发:今天是个好日子,适合【嫁娶】,UI 可以显示心形图标!');
  }

  // 5. 神煞展现
  print('\n【神煞方位】');
  day.godDirections.forEach((key, value) {
    print('$key: ${value.label}');
  });

  print('\n【吉神/凶神 (过滤示例)】');
  final myInterests = day.shenSha.getAuspiciousGodsLabels();
  print('今日吉神: ${myInterests.take(5).join(" ")} ...等共 ${myInterests.length} 位');

  print('\n=== Demo 演示完毕 ===');
}
1
likes
145
points
83
downloads

Documentation

API reference

Publisher

verified publisherredsc1.com

Weekly Downloads

A pure Dart Chinese traditional almanac (Huangli) library with GanZhi, solar terms, flying stars, lunar mansions, and Yi/Ji.

Repository (GitHub)
View/report issues

Topics

#chinese-calendar #lunar-calendar #almanac #fengshui

License

MIT (license)

Dependencies

sxwnl_spa_dart

More

Packages that depend on chinese_lunar_almanac