用年份判断生肖

cmmrl13587160350 2010-03-30 02:48:05
怎样可以用年份判断生肖啊
...全文
687 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyshanshan 2011-10-17
  • 打赏
  • 举报
回复
学习下,原来是这样算的
ouzui 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 glasses1999 的回复:]
用年没法简单判断的,还有月和日啊。
农历年,都是跨公历年的。
比如2010年2月13是牛,到了2月14就是虎了
[/Quote]
原来是这样。。。无语
glasses1999 2010-03-30
  • 打赏
  • 举报
回复
用年没法简单判断的,还有月和日啊。
农历年,都是跨公历年的。
比如2010年2月13是牛,到了2月14就是虎了
porschev 2010-03-30
  • 打赏
  • 举报
回复

#region###根据出生年份 获取生肖
public static string GetShengXiao(int year)
{
string str = "";
int count = (year % 12) - 3;
if (count < 0)
{
count = count + 12;
}
switch (count)
{
case 0:
str = "猪"; break;
case 1:
str = "鼠"; break;
case 2:
str = "牛"; break;
case 3:
str = "虎"; break;
case 4:
str = "兔"; break;
case 5:
str = "龙"; break;
case 6:
str = "蛇"; break;
case 7:
str = "马"; break;
case 8:
str = "羊"; break;
case 9:
str = "猴"; break;
case 10:
str = "鸡"; break;
case 11:
str = "狗"; break;

}
return str;
}
#endregion
Peter200694013 2010-03-30
  • 打赏
  • 举报
回复
String [] year = new String[12]{"鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"}; //2008 鼠

Int32 y = 2050; //判断2050是什么年

String sYear;
if(y > 2008)
sYear = year[(y - 2008) % 12];
else
sYear = year[(12-(2008 - y))%12];

Console.WriteLine(sYear);
chenqingwei 2010-03-30
  • 打赏
  • 举报
回复


Private void button1_Click(object sender,EventArgs e)

{

System.Globalization.ChineseLunisolarCalendar

chinseCaleander=new System.Globalization.ChineseLunisolarCalendar();

string TreeYear =”鼠牛虎兔龙蛇马羊猴鸡狗猪”;

int intYear=hinseCaleander.GetSexagenaryYear(DateTime.Now);

string Tree=TreeYear.Substring(chinseCaleander.GetTerrestrialBranch(int Year)-1,1);

MessageBox.Show(“今年是十二生肖”+Tree+”年”,”判断十二生肖”,MessageBoxButtons.OK,MessageBoxIcon.Information);

}




使用ChineseLunisolarCalendar 类的GetSexagenaryYear 方法和GetTerrestrialBranch 方法来判断十二生肖年份。之前一直没怎么用过这个类,所以今天和大家一起探讨下。

ChineseLunisolarCalendar类将时间分成多个部分来表示,如分成年、月和日。年按农历计算,而日和月按阳历计算。GetSexagenaryYear 方法计算与指定日期对应的甲子(60年)

循环中的年。语法格式如下:

Public virtual Int GetSexagenaryYear(DateTime time)

此方法返回甲子循环中的一个从1到60的数字,它与date参数对应。

GetTerrestrialBranch方法计算甲子(60年)循环中指定年份的地支。语法格式如下:

Public int GetTerrestriaBranch(int sexagenaryYear)

参数sexagenaryYear是一个从1到60的整数,表示甲子循环中的一年。返回一个从1到12的整数。


详文请参考:http://www.itxuexi.com/tech/dotnet/c/7841250228249.html
chenqingwei 2010-03-30
  • 打赏
  • 举报
回复


Private void button1_Click(object sender,EventArgs e)

{

System.Globalization.ChineseLunisolarCalendar

chinseCaleander=new System.Globalization.ChineseLunisolarCalendar();

string TreeYear =”鼠牛虎兔龙蛇马羊猴鸡狗猪”;

int intYear=hinseCaleander.GetSexagenaryYear(DateTime.Now);

string Tree=TreeYear.Substring(chinseCaleander.GetTerrestrialBranch(int Year)-1,1);

MessageBox.Show(“今年是十二生肖”+Tree+”年”,”判断十二生肖”,MessageBoxButtons.OK,MessageBoxIcon.Information);

}




使用ChineseLunisolarCalendar 类的GetSexagenaryYear 方法和GetTerrestrialBranch 方法来判断十二生肖年份。之前一直没怎么用过这个类,所以今天和大家一起探讨下。

ChineseLunisolarCalendar类将时间分成多个部分来表示,如分成年、月和日。年按农历计算,而日和月按阳历计算。GetSexagenaryYear 方法计算与指定日期对应的甲子(60年)

循环中的年。语法格式如下:

Public virtual Int GetSexagenaryYear(DateTime time)

此方法返回甲子循环中的一个从1到60的数字,它与date参数对应。

GetTerrestrialBranch方法计算甲子(60年)循环中指定年份的地支。语法格式如下:

Public int GetTerrestriaBranch(int sexagenaryYear)

参数sexagenaryYear是一个从1到60的整数,表示甲子循环中的一年。返回一个从1到12的整数。


详文请参考:http://www.itxuexi.com/tech/dotnet/c/7841250228249.html
Peter200694013 2010-03-30
  • 打赏
  • 举报
回复
把生肖定义为0~11 就已2008年为基准

(unsigned int)(年份 - 2008) % 12

62,071

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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