目录
????????使用ChineseLunisolarCalendar的GetSexagenaryYear和GetTerrestrialBranch方法判断生肖信息。
????????ChineseLunisolarCalendar对象的GetSexagenaryYear方法用于计算与指定日期对应的甲子(60年)循环中的年。
????????语法格式如下:
public virtual int GetSexagenary Year(DateTime time)
参数说明
Time:DateTime对象,表示要读取的时间信息。
Int:返回整型数值,表示甲子循环中的一个从1~60的数字,它与date参数对应。
?
????????ChineseLunisolarCalendar对象的GetTerrestrialBranch方法用于计算甲子(60年)循环中指定年份的地支。
????????语法格式如下:
public int GetTerrestrialBranch(int sexagenary Year)
参数说明
sexagenaryYear:整型数值,该方法接收一个从1~60的整数参数,表示甲子循环中的一年。
int:返回整型数值,表示一个从1~12的整数。
//计算生肖
namespace _056
{
public partial class Form1 : Form
{
private Label? label1;
private Button? button1;
private TextBox? textBox1;
private Label? label2;
public Form1()
{
InitializeComponent();
Load += Form1_Load;
}
private void Form1_Load(object? sender, EventArgs e)
{
//
// label1
//
label1 = new Label
{
AutoSize = true,
Location = new Point(54, 30),
Name = "label1",
Size = new Size(68, 17),
TabIndex = 0,
Text = "输入年份:"
};
//
// button1
//
button1 = new Button
{
Location = new Point(158, 53),
Name = "button1",
Size = new Size(75, 23),
TabIndex = 2,
Text = "计算生肖",
UseVisualStyleBackColor = true
};
button1.Click += Button1_Click;
//
// textBox1
//
textBox1 = new TextBox
{
Location = new Point(133, 24),
Name = "textBox1",
Size = new Size(100, 23),
TabIndex = 3
};
//
// label2
//
label2 = new Label
{
AutoSize = true,
Location = new Point(54, 59),
Name = "label2",
Size = new Size(80, 17),
TabIndex = 4,
Text = "当前年生肖:"
};
//
// Form1
//
AutoScaleDimensions = new SizeF(7F, 17F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(284, 101);
Controls.Add(label2);
Controls.Add(textBox1);
Controls.Add(button1);
Controls.Add(label1);
Name = "Form1";
StartPosition = FormStartPosition.CenterScreen;
Text = "获得农历生肖年";
}
private void Button1_Click(object? sender, EventArgs e)
{
System.Globalization.ChineseLunisolarCalendar chinseCaleander = new();//创建日历对象
string TreeYear = "鼠牛虎兔龙蛇马羊猴鸡狗猪"; //创建字符串对象
int year = chinseCaleander.GetSexagenaryYear(DateTime.Now); //计算年信息
string Tree = TreeYear.Substring(chinseCaleander.GetTerrestrialBranch(year) - 1, 1); //得到生肖信息
label2!.Text = "当前年生肖:" + Tree;
}
}
}