欢迎光临赵玉开的技术博客
天马行空 无怨无嗔
博客园
首页
新随笔
联系
订阅
管理
随笔 - 103 文章 - 2 评论 - 920 trackbacks - 21
<
2008年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
转载请保留链接。
我的最新闪存
国际管理VS中国国情
链接
8-21 13:48
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(13)
给我留言
查看留言
我管理的小组
生活杂谈
Sql Server数据库小组
我参加的小组
每日一句英语
ASP.NET
Visual Studio
.NET 3.x
项目经理联盟
创业交流
设计模式
CLR基础研究小组
垂直搜索研究
我参与的团队
.Net流程管理系统联盟(0/30)
数据库团队(0/243)
我的标签
t-sql
(8)
sql
(8)
performance
(3)
c#
(3)
cte
(2)
function
(2)
sql server
(2)
partition
(1)
index
(1)
cs
(1)
更多
随笔分类
.Net开发经验(42)
c#(8)
sql server(9)
Xml,XPath,Xsd(1)
简单问题(24)
客户端(9)
软件设计(5)
设计模式(1)
生活(15)
数据库(18)
算法,建模(3)
网站管理(2)
随笔档案
2008年8月 (4)
2008年7月 (6)
2008年6月 (7)
2008年5月 (19)
2008年4月 (7)
2008年3月 (2)
2008年1月 (1)
2007年12月 (3)
2007年11月 (2)
2007年10月 (1)
2007年9月 (3)
2007年6月 (3)
2007年5月 (6)
2007年4月 (22)
2007年3月 (16)
文章分类
敏捷开发(1)
相册
hehe
最新随笔
1. WebClient.UploadValues Post中文乱码的解决方法
2. 警惕使用WebClient.DownloadFile(string uri,string filePath)方法
3. 什么是JSON
4. 客户端即时计算控件的值
5. 如果你的数据库文件只剩下数据文件没有日志文件时,如何附加
6. 必须掌握的八个【cmd 命令行】[转]
7. 2008,属于每一个中国人!
8. 大访问量高性能网站实践
9. CSS关于SEO优化的细节
10. 兰德公司对中国人的评价
积分与排名
积分 - 147372
排名 - 249
最新评论
1. re: c#农历日历类
希望能用,十分感谢。
--lixy
2. re: 如何定义Xsd文件
顶一下
--weiwei100%
3. re: 您未必知道的Css技巧
很多都知道,不过还是谢谢楼主
--天逸网络
4. re: 应用程序权限设计
不错
--不错
5. re: 三层开发中容易犯的错误
越讲越糊涂了,其实我感觉只要把各层的功能划清楚了,就不会存在这样的问题
--hbf
阅读排行榜
1. 应用程序权限设计(7737)
2. 三层开发中容易犯的错误(6395)
3. 翻译 一些很酷的.Net技巧(4430)
4. 如此高效通用的分页存储过程是带有sql注入漏洞的(4265)
5. 巧妙利用图片IMG的onerror事件,对付网通电信的南北分家(3902)
评论排行榜
1. 三层开发中容易犯的错误(129)
2. 如此高效通用的分页存储过程是带有sql注入漏洞的(66)
3. for VS. foreach 那个性能更高,为什么,怎么选择(54)
4. 应用程序权限设计(49)
5. 建索引(尤其是主键)时请注意索引列的顺序(41)
60天内阅读排行
1. CSS关于SEO优化的细节(1988)
2. 兰德公司对中国人的评价(397)
3. 大访问量高性能网站实践(276)
4. 警惕使用WebClient.DownloadFile(string uri,string filePath)方法(177)
5. 必须掌握的八个【cmd 命令行】[转](169)
c#农历日历类
农历
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
ConsoleApp
{
/**/
/*
*
* ChineseCalendarGB.java
* Copyright (c) 1997-2002 by Dr. Herong Yang
* 中国农历算法- 实用于公历1901 年至2100 年之间的200 年
*/
public
class
CnCalendar
{
static fileds
#region
static fileds
private
static
int
[] DAYS_COUNT_IN_GREGORIAN_MONTH
=
new
int
[]
{
31
,
28
,
31
,
30
,
31
,
30
,
31
,
31
,
30
,
31
,
30
,
31
}
;
private
static
string
[] TIANGAN_NAMES
=
{
"
甲
"
,
"
乙
"
,
"
丙
"
,
"
丁
"
,
"
戊
"
,
"
己
"
,
"
庚
"
,
"
辛
"
,
"
壬
"
,
"
癸
"
}
;
private
static
string
[] DIZHI_NAMES
=
{
"
子
"
,
"
丑
"
,
"
寅
"
,
"
卯
"
,
"
辰
"
,
"
巳
"
,
"
午
"
,
"
未
"
,
"
申
"
,
"
酉
"
,
"
戌
"
,
"
亥
"
}
;
private
static
string
[] SHENGXIAO_NAMES
=
{
"
鼠
"
,
"
牛
"
,
"
虎
"
,
"
兔
"
,
"
龙
"
,
"
蛇
"
,
"
马
"
,
"
羊
"
,
"
猴
"
,
"
鸡
"
,
"
狗
"
,
"
猪
"
}
;
private
static
string
[] MONTH_NAMES
=
{
"
一
"
,
"
二
"
,
"
三
"
,
"
四
"
,
"
五
"
,
"
六
"
,
"
七
"
,
"
八
"
,
"
九
"
,
"
十
"
,
"
十一
"
,
"
十二
"
}
;
private
static
string
[] CHINESE_MONTH_NAMES
=
{
"
正
"
,
"
二
"
,
"
三
"
,
"
四
"
,
"
五
"
,
"
六
"
,
"
七
"
,
"
八
"
,
"
九
"
,
"
十
"
,
"
冬
"
,
"
腊
"
}
;
private
static
string
[] PRINCIPLE_TERM_NAMES
=
{
"
大寒
"
,
"
雨水
"
,
"
春分
"
,
"
谷雨
"
,
"
夏满
"
,
"
夏至
"
,
"
大暑
"
,
"
处暑
"
,
"
秋分
"
,
"
霜降
"
,
"
小雪
"
,
"
冬至
"
}
;
private
static
string
[] SECTIONDARY_TERM_NAME
=
{
"
小寒
"
,
"
立春
"
,
"
惊蛰
"
,
"
清明
"
,
"
立夏
"
,
"
芒种
"
,
"
小暑
"
,
"
立秋
"
,
"
白露
"
,
"
寒露
"
,
"
立冬
"
,
"
大雪
"
}
;
//
农历月份大小压缩表,两个字节表示一年。两个字节共十六个二进制位数,
//
前四个位数表示闰月月份,后十二个位数表示十二个农历月份的大小。
private
static
int
[] chineseMonths
=
{
0x00
,
0x04
,
0xad
,
0x08
,
0x5a
,
0x01
,
0xd5
,
0x54
,
0xb4
,
0x09
,
0x64
,
0x05
,
0x59
,
0x45
,
0x95
,
0x0a
,
0xa6
,
0x04
,
0x55
,
0x24
,
0xad
,
0x08
,
0x5a
,
0x62
,
0xda
,
0x04
,
0xb4
,
0x05
,
0xb4
,
0x55
,
0x52
,
0x0d
,
0x94
,
0x0a
,
0x4a
,
0x2a
,
0x56
,
0x02
,
0x6d
,
0x71
,
0x6d
,
0x01
,
0xda
,
0x02
,
0xd2
,
0x52
,
0xa9
,
0x05
,
0x49
,
0x0d
,
0x2a
,
0x45
,
0x2b
,
0x09
,
0x56
,
0x01
,
0xb5
,
0x20
,
0x6d
,
0x01
,
0x59
,
0x69
,
0xd4
,
0x0a
,
0xa8
,
0x05
,
0xa9
,
0x56
,
0xa5
,
0x04
,
0x2b
,
0x09
,
0x9e
,
0x38
,
0xb6
,
0x08
,
0xec
,
0x74
,
0x6c
,
0x05
,
0xd4
,
0x0a
,
0xe4
,
0x6a
,
0x52
,
0x05
,
0x95
,
0x0a
,
0x5a
,
0x42
,
0x5b
,
0x04
,
0xb6
,
0x04
,
0xb4
,
0x22
,
0x6a
,
0x05
,
0x52
,
0x75
,
0xc9
,
0x0a
,
0x52
,
0x05
,
0x35
,
0x55
,
0x4d
,
0x0a
,
0x5a
,
0x02
,
0x5d
,
0x31
,
0xb5
,
0x02
,
0x6a
,
0x8a
,
0x68
,
0x05
,
0xa9
,
0x0a
,
0x8a
,
0x6a
,
0x2a
,
0x05
,
0x2d
,
0x09
,
0xaa
,
0x48
,
0x5a
,
0x01
,
0xb5
,
0x09
,
0xb0
,
0x39
,
0x64
,
0x05
,
0x25
,
0x75
,
0x95
,
0x0a
,
0x96
,
0x04
,
0x4d
,
0x54
,
0xad
,
0x04
,
0xda
,
0x04
,
0xd4
,
0x44
,
0xb4
,
0x05
,
0x54
,
0x85
,
0x52
,
0x0d
,
0x92
,
0x0a
,
0x56
,
0x6a
,
0x56
,
0x02
,
0x6d
,
0x02
,
0x6a
,
0x41
,
0xda
,
0x02
,
0xb2
,
0xa1
,
0xa9
,
0x05
,
0x49
,
0x0d
,
0x0a
,
0x6d
,
0x2a
,
0x09
,
0x56
,
0x01
,
0xad
,
0x50
,
0x6d
,
0x01
,
0xd9
,
0x02
,
0xd1
,
0x3a
,
0xa8
,
0x05
,
0x29
,
0x85
,
0xa5
,
0x0c
,
0x2a
,
0x09
,
0x96
,
0x54
,
0xb6
,
0x08
,
0x6c
,
0x09
,
0x64
,
0x45
,
0xd4
,
0x0a
,
0xa4
,
0x05
,
0x51
,
0x25
,
0x95
,
0x0a
,
0x2a
,
0x72
,
0x5b
,
0x04
,
0xb6
,
0x04
,
0xac
,
0x52
,
0x6a
,
0x05
,
0xd2
,
0x0a
,
0xa2
,
0x4a
,
0x4a
,
0x05
,
0x55
,
0x94
,
0x2d
,
0x0a
,
0x5a
,
0x02
,
0x75
,
0x61
,
0xb5
,
0x02
,
0x6a
,
0x03
,
0x61
,
0x45
,
0xa9
,
0x0a
,
0x4a
,
0x05
,
0x25
,
0x25
,
0x2d
,
0x09
,
0x9a
,
0x68
,
0xda
,
0x08
,
0xb4
,
0x09
,
0xa8
,
0x59
,
0x54
,
0x03
,
0xa5
,
0x0a
,
0x91
,
0x3a
,
0x96
,
0x04
,
0xad
,
0xb0
,
0xad
,
0x04
,
0xda
,
0x04
,
0xf4
,
0x62
,
0xb4
,
0x05
,
0x54
,
0x0b
,
0x44
,
0x5d
,
0x52
,
0x0a
,
0x95
,
0x04
,
0x55
,
0x22
,
0x6d
,
0x02
,
0x5a
,
0x71
,
0xda
,
0x02
,
0xaa
,
0x05
,
0xb2
,
0x55
,
0x49
,
0x0b
,
0x4a
,
0x0a
,
0x2d
,
0x39
,
0x36
,
0x01
,
0x6d
,
0x80
,
0x6d
,
0x01
,
0xd9
,
0x02
,
0xe9
,
0x6a
,
0xa8
,
0x05
,
0x29
,
0x0b
,
0x9a
,
0x4c
,
0xaa
,
0x08
,
0xb6
,
0x08
,
0xb4
,
0x38
,
0x6c
,
0x09
,
0x54
,
0x75
,
0xd4
,
0x0a
,
0xa4
,
0x05
,
0x45
,
0x55
,
0x95
,
0x0a
,
0x9a
,
0x04
,
0x55
,
0x44
,
0xb5
,
0x04
,
0x6a
,
0x82
,
0x6a
,
0x05
,
0xd2
,
0x0a
,
0x92
,
0x6a
,
0x4a
,
0x05
,
0x55
,
0x0a
,
0x2a
,
0x4a
,
0x5a
,
0x02
,
0xb5
,
0x02
,
0xb2
,
0x31
,
0x69
,
0x03
,
0x31
,
0x73
,
0xa9
,
0x0a
,
0x4a
,
0x05
,
0x2d
,
0x55
,
0x2d
,
0x09
,
0x5a
,
0x01
,
0xd5
,
0x48
,
0xb4
,
0x09
,
0x68
,
0x89
,
0x54
,
0x0b
,
0xa4
,
0x0a
,
0xa5
,
0x6a
,
0x95
,
0x04
,
0xad
,
0x08
,
0x6a
,
0x44
,
0xda
,
0x04
,
0x74
,
0x05
,
0xb0
,
0x25
,
0x54
,
0x03
}
;
//
初始日,公历农历对应日期:
//
公历1901 年1 月1 日,对应农历4598 年11 月11 日
private
static
int
baseYear
=
1901
;
private
static
int
baseMonth
=
1
;
private
static
int
baseDate
=
1
;
private
static
int
baseIndex
=
0
;
private
static
int
baseChineseYear
=
4598
-
1
;
private
static
int
baseChineseMonth
=
11
;
private
static
int
baseChineseDate
=
11
;
private
static
int
[][] sectionalTermMap
=
new
int
[][]
{
new
int
[]
{
7
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
5
,
6
,
6
,
6
,
5
,
5
,
6
,
6
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
4
,
5
,
5
}
,
new
int
[]
{
5
,
4
,
5
,
5
,
5
,
4
,
4
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
3
,
4
,
4
,
4
,
3
,
3
,
4
,
4
,
3
,
3
,
3
}
,
new
int
[]
{
6
,
6
,
6
,
7
,
6
,
6
,
6
,
6
,
5
,
6
,
6
,
6
,
5
,
5
,
6
,
6
,
5
,
5
,
5
,
6
,
5
,
5
,
5
,
5
,
4
,
5
,
5
,
5
,
5
}
,
new
int
[]
{
5
,
5
,
6
,
6
,
5
,
5
,
5
,
6
,
5
,
5
,
5
,
5
,
4
,
5
,
5
,
5
,
4
,
4
,
5
,
5
,
4
,
4
,
4
,
5
,
4
,
4
,
4
,
4
,
5
}
,
new
int
[]
{
6
,
6
,
6
,
7
,
6
,
6
,
6
,
6
,
5
,
6
,
6
,
6
,
5
,
5