C#指定年份计算十二生肖

发布时间:2024年01月22日

目录

一、GetSexagenary Year方法

二、GetTerrestrialBranch方法

三、实例


????????使用ChineseLunisolarCalendar的GetSexagenaryYear和GetTerrestrialBranch方法判断生肖信息。

一、GetSexagenary Year方法

????????ChineseLunisolarCalendar对象的GetSexagenaryYear方法用于计算与指定日期对应的甲子(60年)循环中的年。

????????语法格式如下:

public virtual int GetSexagenary Year(DateTime time)

参数说明
Time:DateTime对象,表示要读取的时间信息。
Int:返回整型数值,表示甲子循环中的一个从1~60的数字,它与date参数对应。

?

二、GetTerrestrialBranch方法

????????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;
        }
    }
}

文章来源:https://blog.csdn.net/wenchm/article/details/135760149
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。