• Stars
    star
    599
  • Rank 74,745 (Top 2 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 10 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

公历(阳历) 农历(阴历)转换,支持时间段从1900-2100 如果需要更长的时间段,利用generate.htm生成的数据即可。 支持各种编程语言 C#,java,Objective-C,php,Python,javascript(nodejs),C/C++,ruby,swift,golang等 支持Mac,Windows,Android,WP多种平台

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)

More Repositories

1

Card-Ocr

身份证识别OCR
Jupyter Notebook
429
star
2

captcha-ocr

java decaptcha
Java
141
star
3

Capture-Screen-For-Multi-Screens-On-Mac

Capture Screen For Multi Screens On Mac OSX
Objective-C
129
star
4

QQ-capture-screen-on-mac

Mac QQ 包含的截图库,最新版QQ和微信都统一用JietuFramework
Objective-C
42
star
5

Sqlite-Viewer

Sqlite Viewer with sqlcipher
Objective-C
39
star
6

ctf-tools

网鼎杯培训用到的一些ctf工具(javafx),编解码,键盘和鼠标抓包解密,维吉尼亚暴力破解,zip crc暴力破解,曼彻斯特解码等。
Java
29
star
7

Pinyin4Search

android汉字转拼音,模糊搜索,搜索高亮
Java
13
star
8

NSButton-with-dropdown-menu

cocoa compose button with dropdown menu
Objective-C
11
star
9

Mac-OSX-custom-url-scheme

Mac OSX custom url scheme,like macappstore://
Objective-C
10
star
10

Image-Border-in-NSTextView

add a border when click/select an image in NSTextView
Objective-C
6
star
11

fastcoll

Md5 碰撞生成实现,去掉了boost依赖,简化编译
C++
6
star
12

Sqlcipher-Viewer

C
4
star
13

Flower-Recognition

微软识花 android版 (非官方)
Kotlin
3
star
14

docwriter

docwriter is a free library to generate docx or ofd file.
C++
3
star
15

NSTableView-export-csv-or-html

Objective-C
3
star
16

CTF-tools-offline

参加CTF比赛,没有网络,带着个Mac,于是有了这个Mac版CTF工具离线版,base64,md5,sha,维吉利亚密码暴力破解,wav文件频谱音频隐写
3
star
17

third-party

第三方库
C++
1
star
18

NSTextView-with-custom-link

a NSTextView category for support custom link
Objective-C
1
star
19

AndroidChart

android 中国地图 chart
Java
1
star
20

ios-app-icon-generate

ios app icon generate script
Shell
1
star
21

Clipboard-Viewer

Clipboard Viewer with gac lib
C++
1
star