Lunar-Solar-Calendar-Converter:公历与农历转换工具
项目简介
Lunar-Solar-Calendar-Converter是一个用于公历(阳历)和农历(阴历)相互转换的工具。它支持1900-2100的时间段转换,若需更长时间段,可利用generate.htm生成的数据。该工具支持多种编程语言,包括C#, java, Objective-C, php, Python, javascript(nodejs), C/C++, ruby, swift, golang等,并且能在Mac,Windows,Android,WP等多种平台上使用。
数据验证
1. 用io.js(nodejs)写了一个http server,各种语言可以通过下面的http接口验证不同实现的数据一致性。在javascript目录下nodecheck.js启动。
2. 可通过http://localhost:1337/?src = 2015,1,15(公历转农历,返回2014,11,25,0)或者http://localhost:1337/?src = 2014,11,25,0(农历转公历,返回2015,1,15)进行验证。
3. 不同语言版本有各自的数据比对方式,如C#版本的Check.cs实现了C#与nodejs的数据比对,基本原理是查表。有2个数据表,对于每一年,一张表存着X年正月初一对应的公历年月日,另一张表存着X年农历每个月的天数以及闰月的月份,然后根据这两张表进行日期的偏移。原始数据通过了微软ChineseLunisolarCalendar类的比对。不过在Swift版本中,由于苹果官方有NSCalendarIdentifierChinese,其generate.swift虽有匹配,但微软与苹果的数据有部分不一致,例如Apple 2057/9/28->2057年九月〇明显有问题。
API介绍
C#
包含农历转公历(public static SolarLunarToSolar(Lunar lunar))和公历转农历(public static LunarSolarToLunar(Solar solar))的API。
Objective-C
有农历转公历(+(Solar)lunarToSolar:(Lunar)lunar;)和公历转农历(+(Lunar)solarToLunar:(Solar)solar;)的API。
php
包含农历转公历(public static function LunarToSolar($lunar))和公历转农历(public static function SolarToLunar($solar))的API。
python
支持pypi安装(”pip install LunarSolarConverter”),包含农历转公历(def LunarToSolar(self, lunar):)和公历转农历(def SolarToLunar(self, solar):)的API。
javascript
有农历转公历(this.LunarToSolar = function(lunar))和公历转农历(this.SolarToLunar = function(solar))的API。
C/C++
包含农历转公历(SolarLunarToSolar(Lunar lunar);)和公历转农历(LunarSolarToLunar(Solar solar);)的API。
ruby
包含农历转公历(def lunar_to_solar(lunar))和公历转农历(def solar_to_lunar(solar))的API。
swift
包含农历转公历(classfunc LunarToSolar(lunar:Lunar)->Solar)和公历转农历(classfunc SolarToLunar(solar:Solar)->Lunar)的API。
Go
包含农历转公历(func LunarToSolar(lunarLunar)Solar)和公历转农历(func SolarToLunar(solarSolar)Lunar)的API。
Dart
包含农历转公历(static lunarToSolar(Lunar lunar))和公历转农历(static solarToLunar(Solar solar))的API。
项目总结
Lunar-Solar-Calendar-Converter是一个功能丰富、跨平台且支持多语言的公历农历转换工具,其数据验证方式和各语言API的提供为开发者在不同环境下使用提供了便利。欢迎大家在评论区留言讨论,分享使用心得或者提出改进建议。
项目地址
数据统计
数据评估
本站链氪巴士提供的Lunar-Solar-Calendar-Converter:支持多语言多平台的公历农历转换工具都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。