bedlate/chinese-calendar
Composer 安装命令:
composer require bedlate/chinese-calendar
包简介
中国农历转换与查询工具
README 文档
README
fork的https://github.com/overtrue/chinese-calendar,修改五行的计算方式,修复每月最后一天23点的bug。
Chinese calendar
📅 中国农历(阴历)与阳历(公历)转换与查询工具
Installing
$ composer require bedlate/chinese-calendar -vvv
Usage
use bedlate\ChineseCalendar\Calendar; $calendar = new Calendar(); $result = $calendar->solar(2017, 5, 5); // 阳历 $result = $calendar->lunar(2017, 4, 10); // 阴历 $result = $calendar->solar(2017, 5, 5, 23) // 阳历,带 $hour 参数
结果:
array ( 'lunar_year' => '2017', // 农历年 'lunar_month' => '04', // 农历月 'lunar_day' => '10', // 农历日 'lunar_hour' => NULL, // 农历时 'lunar_year_chinese' => '二零一七', // (汉字)农历年 'lunar_month_chinese' => '四月', // (汉字)农历月 'lunar_day_chinese' => '初十', // (汉字)农历日 'lunar_hour_chinese' => NULL, // (汉字)农历时辰 'ganzhi_year' => '丁酉', // (干支)年柱 'ganzhi_month' => '乙巳', // (干支)月柱 'ganzhi_day' => '壬辰', // (干支)日柱 'ganzhi_hour' => NULL, // (干支)时柱 'wuxing_year' => '火金', // (五行)年 'wuxing_month' => '木火', // (五行)月 'wuxing_day' => '水土', // (五行)日 'wuxing_hour' => NULL, // (五行)时 'color_year' => '红', // (颜色)年 'color_month' => '青', // (颜色)月 'color_day' => '黑', // (颜色)日 'color_hour' => NULL, // (颜色)时 'animal' => '鸡', // 生肖 'term' => '立夏', // 节气 'is_leap' => false, // 是否闰月 'gregorian_year' => '2017', // 公历年 'gregorian_month' => '05', // 公历月 'gregorian_day' => '05', // 公历日 'gregorian_hour' => NULL, // 公历时 'week_no' => 5, // 星期数字 'week_name' => '星期五', // 星期汉子 'is_today' => false, // 是否今天 'constellation' => '金牛', // 星座 ) array ( 'lunar_year' => '2017', // 农历年 'lunar_month' => '04', // 农历月 'lunar_day' => '10', // 农历日 'lunar_hour' => '23', // 农历时 'lunar_year_chinese' => '二零一七', // (汉字)农历年 'lunar_month_chinese' => '四月', // (汉字)农历月 'lunar_day_chinese' => '初十', // (汉字)农历日 'lunar_hour_chinese' => '子时', // (汉字)农历时辰 'ganzhi_year' => '丁酉', // (干支)年柱 'ganzhi_month' => '乙巳', // (干支)月柱 'ganzhi_day' => '壬辰', // (干支)日柱 'ganzhi_hour' => '壬子', // (干支)时柱 'wuxing_year' => '火金', // (五行)年 'wuxing_month' => '木火', // (五行)月 'wuxing_day' => '水土', // (五行)日 'wuxing_hour' => '水水', // (五行)时 'color_year' => '红', // (颜色)年 'color_month' => '青', // (颜色)月 'color_day' => '黑', // (颜色)日 'color_hour' => '黑', // (颜色)时 'animal' => '鸡', // 生肖 'term' => '立夏', // 节气 'is_leap' => false, // 是否闰月 'gregorian_year' => '2017', // 公历年 'gregorian_month' => '05', // 公历月 'gregorian_day' => '05', // 公历日 'gregorian_hour' => '23', // 公历时 'week_no' => 5, // 星期数字 'week_name' => '星期五', // 星期汉子 'is_today' => false, // 是否今天 'constellation' => '金牛', // 星座 )
你可能注意到,含时间的农历结果怎么是
四月十一而不是四月初十,具体见 #13
更多 API 请查看源码。
Reference
- 1900年至2100年公历、农历互转Js代码 - 晶晶的博客 - 数据与部分算法来源
- 中国历法 - 维基百科
- 农历 - 维基百科
- 阴历 - 维基百科
- 阳历 - 维基百科
- 干支 - 维基百科
- 星座 - 维基百科
- 生肖 - 维基百科
License
MIT
bedlate/chinese-calendar 适用场景与选型建议
bedlate/chinese-calendar 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 16 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 02 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「calendar」 「solar」 「Chinese」 「lunar」 「solar2lunar」 「lunar2solar」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 bedlate/chinese-calendar 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bedlate/chinese-calendar 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 bedlate/chinese-calendar 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A modern PHP library for generating iCalendar v2.0 events
A powerful event calendar Tool for Laravel's Nova 5.
Check for holidays - localeaware
This TYPO3 distribution provides a sample website using bootstrap and the extensions pizpalue and container_elements. The distribution tailors Swiss market featuring German as default language and additional translations to French, English and Finnish.
微信小程序生成太阳码
Solar icon pack for Filament Icons
统计信息
- 总下载量: 16
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-02-28