开源多语言公历农历转换

Lunar Solar Calendar Converter

公历(阳历) 农历(阴历)转换,支持时间段从1900-2100

如果需要更长的时间段,利用generate.htm生成的数据即可。

支持各种编程语言 C#,java,Objective-C,php,Python,javascript(nodejs),C/C++,ruby,swift等

支持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#版本中。

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

/**
*农历转公历
*/
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 LunarToSolar(lunar)

/**
*公历转农历
*/
def SolarToLunar(solar)

API
For swift

/**
*农历转公历
*/
class func LunarToSolar( lunar:Lunar)->Solar

/**
*公历转农历
*/
class func SolarToLunar( solar:Solar)->Lunar

时间: 2024-10-15 05:49:51

开源多语言公历农历转换的相关文章

公历 农历转换js

<!-- function CalConv(M) { FIRSTYEAR = 1936; LASTYEAR = 2031; LunarCal = [ new tagLunarCal(23, 3, 2, 17, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0 ), /* 1936 */ new tagLunarCal( 41, 0, 4, 23, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ), new tagLunarCal( 30,

公历农历日期

Html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>兼容ie9+</title> <link href="calendar.css" rel="stylesheet" type="text/css" /> <scri

一款很好用的前端公、农历转换插件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> &

完善SQL农历转换函数

-------------------------------------------------------------------- --  Author : 原著:          改编:htl258(Tony) --  Date   : 2010-04-24 06:39:55 --  Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) --          Jul  9 2008 14:43:34 --

根据Unicode编码用C#语言把它转换成汉字的代码

rt 根据所具有的Unicode编码用C#语言把它转换成汉字的代码 师傅的代码: public static string UnicodeToGB(string text)         {             System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(text, "\\\\u([\\w]{4})");             i

C语言类型强制转换

C语言类型强制转换 强制类型转换是通过类型转换运算来实现的.其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型. 目录 1基本介绍 2注意事项 1基本介绍编辑 强制类型转换是通过类型转换运算来实现的.其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型.自动转换是在源类型和目标类型兼容以及目标类型广于源类型时发生一个类型到另一类的转换.例如: (float) a 把a转换为实型,(int)(x+y)

iOS 开发中农历与公历的转换,星座计算。

上一个项目开发中遇到的需求,用户选择出生日期后自动计算出对应的农历.用到这种工具类,必定百度谷歌.结果翻了个遍没看到靠谱的,基本都是用的iOS自带的农历算法然后抄个遍.但是这个算法有点小误差,而且农历这种博大精深的东西不像公历是个死的,还要推算出来.终于终于终于在某个角落找到个靠谱的可以使用,所以分享出来,不过现在我也找不出来源了,但还是感谢原作者. // LunarSolarConverter.h #import <Foundation/Foundation.h> @interface Lu

公历和农历转换的JS代码&lt;转&gt;

<!-- function CalConv(M) { FIRSTYEAR = 1936; LASTYEAR = 2031; LunarCal = [ new tagLunarCal(23, 3, 2, 17, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0 ), /* 1936 */ new tagLunarCal( 41, 0, 4, 23, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ), new tagLunarCal( 30,

公历和农历转换的JS代码

<!-- function CalConv(M) { FIRSTYEAR = 1936; LASTYEAR = 2031; LunarCal = [ new tagLunarCal(23, 3, 2, 17, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0 ), /* 1936 */ new tagLunarCal( 41, 0, 4, 23, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ), new tagLunarCal( 30,