求C#阴历转阳历的类

tangjun147 2010-01-05 03:32:39
在网上找到个阳历转阴历的,可是没有阴历转阳历的
自己没有能力写
求一个。。
或者有没人能提供一个办法,仅靠这个阳历转阴历的类实现生日提醒功能(中国大部分地区都过农历生日嘛)
...全文
520 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coosiu 2011-02-22
  • 打赏
  • 举报
回复
最后2句 方法不完整唉。 我也pm那人咯 暂未回复~~
tangjun147 2010-03-05
  • 打赏
  • 举报
回复
都过完一个年了 也没人回答一下,看来确实太难了,阴历有19年7闰的说法,算法太复杂了
最后我用了一个笨办法,循环阳历转阴历的类365次,把一年的阴历全部插进数据库
然后查询数据库来获得阴历对应的阳历
tangjun147 2010-01-18
  • 打赏
  • 举报
回复
不是我自己的照片,觉得这人很搞笑,就拿来用了
7楼的方法好象还调用了其他方法 没贴全啊,麻烦补全一下,谢谢了
longhair9711 2010-01-05
  • 打赏
  • 举报
回复
baidu + google = 万年历阴阳转换算法
qqzeng-ip 2010-01-05
  • 打赏
  • 举报
回复
  /**//// <summary>
/// 阴历转阳历
/// </summary>
/// <param name="year">阴历年</param>
/// <param name="month">阴历月</param>
/// <param name="day">阴历日</param>
/// <param name="IsLeapMonth">是否闰月</param>
public static DateTime GetDateFromLunarDate(int year, int month, int day, bool IsLeapMonth)
{
if (year < 1902 || year > 2100)
throw new Exception("只支持1902~2100期间的农历年");
if (month < 1 || month > 12)
throw new Exception("表示月份的数字必须在1~12之间");

if (day < 1 || day > calendar.GetDaysInMonth(year, month))
throw new Exception("农历日期输入有误");

int num1 = 0, num2 = 0;
int leapMonth = calendar.GetLeapMonth(year);

if (((leapMonth == month + 1) && IsLeapMonth) || (leapMonth > 0 && leapMonth <= month))
num2 = month;
else
num2 = month - 1;

while (num2 > 0)
{
num1 += calendar.GetDaysInMonth(year, num2--);
}

DateTime dt = GetLunarNewYearDate(year);
return dt.AddDays(num1 + day - 1);
}
程序小海 2010-01-05
  • 打赏
  • 举报
回复
我混饭的……
kofkyo 2010-01-05
  • 打赏
  • 举报
回复
研究一下万年历的脚本会有用
wartim 2010-01-05
  • 打赏
  • 举报
回复
基本上反算比较繁琐

这是网上的一段话:

农历转公历将 牵扯到一个非常大问题 因为农历六十年一轮回
比如今年是2005乙酉年,那么1945、2065年都是乙酉年

例如 乙酉年八月十二日 将转成2005.08.12 还是2065.8.12 那计算机改怎么转变呢~!
其实我觉得你要是只做一个 固定在60年内的 这样才可以

而公历转农历就方便多、给一个基本的定位、然后根据这个定位 去计算

wartim 2010-01-05
  • 打赏
  • 举报
回复
http://bbs.51js.com/thread-46056-1-1.html
js的,1950年--1999年
浪子-无悔 2010-01-05
  • 打赏
  • 举报
回复
LZ 是自己的头像吗?
angel6709 2010-01-05
  • 打赏
  • 举报
回复

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧