网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.CORBA 与Java 的结合使用.
.SWT/JFace开发指南之了解Display.
.如何使用Java获得本机IP和名称.
.java小技巧.
.检测代码是否有Junit Test Class.
.在应用中加入全文检索功能——基.
.Borland将出售IDE,包括Delphi和J.
.310-025 scjp exam dumps 06/10/.
.Java 国际化和本地化 Toolkit 2..
.Eclipse Form设计指南之定制布局.
.在.NET平台运行Java程序-IKVM.NE.
.J2ME编程最佳实践之灵活的RMS应用.
.(10)CDC API.
.SCJP模拟题104道.
.Java EE 5规范横空出世.
.减法运算符 (-).
.使用Java语言编写程序最容易犯的.
.初步了解 Corba 的模块模型概况.
.如何提高Hibernate 3 启动速度.
.java使用程序块.

阴阳历算法(转)

发表日期:2008-1-5



程序为: 
/*

西历农历转换程式 黄晓鸣 1995,7,25

prototype: int calconv( strUCt convdate * );

struct convdate
{
    int source; ==0 则输入日期为西历, !=0 则输入为农历
    int solaryear; 输出或输入之西历年份
    int solarmonth; 西历月
    int solardate; 西历日
    int lunaryear; 输出或输入之农历年份
    int lunarmonth; 农历月
    int lunardate; 农历日
    int weekday; 该日为星期几 ( 0==星期日, 1==星期一, ... )
    int kan; 该日天干 ( 0==甲, 1==乙, ..., 9==癸 )
    int chih; 该日地支 ( 0==子, 1==丑, ..., 11==亥 )
};

呼叫时须设定 souce 的值, 若为 0 则为西历转农历, 否则为农历转西历. 然後视
输入为西历或农历来设定西历或农历的年月日. 转换後的年月日会填入结构中( 农
历或西历 ), 以及该日为星期几, 天干地支.
若函式的返回值为 0 表示没有错误, 1 为输入之年份错误, 2 为输入之月份错误,
3 为输入之日期错误.
输入之西历年须在 1937 - 2031 间
输入之农历年须在 1936 - 2030 间
若须扩充, 则增加 lunarcal[]

*/

#define firstyear 1936 /* the first year in lunarcal[] */

struct convdate
{
    int source;
    int solaryear;
    int solarmonth;
    int solardate;
    int lunaryear;
    int lunarmonth;
    int lunardate;
    int weekday;
    int kan;
    int chih;
};

struct taglunarcal
{
    int basedays; /* 到西历 1 月 1 日到农历正月初一的累积日数 */
    int intercalation; /* 闰月月份. 0==此年没有闰月 */
    int baseweekday; /* 此年西历 1 月 1 日为星期几再减 1 */
    int basekanchih; /* 此年西历 1 月 1 日之干支序号减 1 */
    int monthdays[13]; /* 此农历年每月之大小, 0==小月(29日), 1==大月(30日)*/
};

struct taglunarcal lunarcal[] = {
, /* 1936 */
,
,
,
, /* 1940 */
,
,
,
, /* 1944 */
上一篇:野马的性格 Java SE 6.0新特性体验 人气:733
下一篇:以小博大 Java性能优化技巧集锦 人气:737
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐