Lunar-Solar-Calendar-Converter
所属分类:C/C++基础
开发工具:HTML
文件大小:2137KB
下载次数:0
上传日期:2022-01-26 08:38:09
上 传 者:
sh-1993
说明: 公历(阳历) 农历(阴历)转换,支持时间段从1900-2100 如果需要更长的时间段,利用generate.htm生成的数据即可。 支持各种编程语言 C#,java,Objective-C,php,Python,javascript(...
(Gregorian (Gregorian) lunar (lunar) conversion supports a time period from 1900 to 2100. If a longer time period is required, use the data generated by generate.htm. Support various programming languages C #, java, Objective-C, php, Python, javascript ()
文件列表:
C# (0, 2022-01-26)
C#\Check.cs (2324, 2022-01-26)
C#\Check.exe (9216, 2022-01-26)
C#\LunarSolarConverter.cs (8991, 2022-01-26)
C#\Program.cs (2837, 2022-01-26)
C:C++ (0, 2022-01-26)
C:C++\LunarSolarConverter.c (7696, 2022-01-26)
C:C++\LunarSolarConverter.h (570, 2022-01-26)
Dart (0, 2022-01-26)
Dart\lunar.dart (2475, 2022-01-26)
Dart\lunar_solar_converter.dart (8778, 2022-01-26)
Dart\main.dart (447, 2022-01-26)
Dart\solar.dart (1079, 2022-01-26)
Go (0, 2022-01-26)
Go\Demo.go (1840, 2022-01-26)
Go\lunarsolar (0, 2022-01-26)
Go\lunarsolar\LunarSolarConverter.go (7711, 2022-01-26)
Go\lunarsolar\go.mod (79, 2022-01-26)
Java (0, 2022-01-26)
Java\cn (0, 2022-01-26)
Java\cn\z (0, 2022-01-26)
Java\cn\z\Demo.class (2355, 2022-01-26)
Java\cn\z\Demo.java (1716, 2022-01-26)
Java\cn\z\Lunar.class (288, 2022-01-26)
Java\cn\z\LunarSolarConverter.class (6725, 2022-01-26)
Java\cn\z\LunarSolarConverter.java (7377, 2022-01-26)
Java\cn\z\MiscHelper.class (1846, 2022-01-26)
Java\cn\z\MiscHelper.java (2717, 2022-01-26)
Java\cn\z\Solar.class (267, 2022-01-26)
Javascript (0, 2022-01-26)
Javascript\Demo.html (1557, 2022-01-26)
Javascript\LunarSolarConverter.io.js (8462, 2022-01-26)
Javascript\LunarSolarConverter.js (8343, 2022-01-26)
Javascript\check.js (1741, 2022-01-26)
LICENSE (1063, 2022-01-26)
OC (0, 2022-01-26)
OC\LunarSolarConverter.h (773, 2022-01-26)
OC\LunarSolarConverter.m (7733, 2022-01-26)
... ...
# 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)写了一个httpserver,各种语言可以通过下面的http接口验证不同实现的数据一致性。
在javascript目录下node check.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类的比对。比对程序在C\#版本中。
* Swift由于苹果官方有NSCalendarIdentifierChinese,因此有跟Swift官方匹配的generate.swift。实际比对的结果,微软与苹果的数据有部分不一致。比如Apple 2057/9/28->2057年九月〇明显有问题。
### TODO
- 干支
- 星座
## API For CSharp or Java
```
/**
*农历转公历
*/
public static Solar LunarToSolar(Lunar lunar)
/**
*公历转农历
*/
public static Lunar SolarToLunar(Solar solar)
```
## API For Objective-C
```
/**
*农历转公历
*/
+ (Solar *)lunarToSolar:(Lunar *)lunar;
/**
*公历转农历
*/
+ (Lunar *)solarToLunar:(Solar *)solar;
```
## API For php
```
/**
*农历转公历
*/
public static function LunarToSolar($lunar)
/**
*公历转农历
*/
public static function SolarToLunar($solar)
```
## API For python
```
//support pypi "pip install LunarSolarConverter"
//refer pypiDemo
/**
*农历转公历
*/
def LunarToSolar(self, lunar):
/**
*公历转农历
*/
def SolarToLunar(self, solar):
```
## API For javascript
```
/**
*农历转公历
*/
this.LunarToSolar = function (lunar)
/**
*公历转农历
*/
this.SolarToLunar = function (solar)
```
## API For C/C++
```
/**
*农历转公历
*/
Solar LunarToSolar(Lunar lunar);
/**
*公历转农历
*/
Lunar SolarToLunar(Solar solar);
```
## API For ruby
```
/**
*农历转公历
*/
def lunar_to_solar(lunar)
/**
*公历转农历
*/
def solar_to_lunar(solar)
```
## API For swift
```
/**
*农历转公历
*/
class func LunarToSolar( lunar:Lunar)->Solar
/**
*公历转农历
*/
class func SolarToLunar( solar:Solar)->Lunar
```
## API For Go
```
/**
*农历转公历
*/
func LunarToSolar(lunar Lunar) *Solar
/**
*公历转农历
*/
func SolarToLunar(solar Solar) *Lunar
```
## API For Dart
```
/**
*农历转公历
*/
static lunarToSolar(Lunar lunar)
/**
*公历转农历
*/
static solarToLunar(Solar solar)
```
近期下载者:
相关文件:
收藏者: