欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘和日歷

 更新時(shí)間:2022年06月13日 15:42:47   作者:JeronZhou  
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘和日歷的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘和日歷的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)如下圖所示的簡(jiǎn)易時(shí)鐘和日歷,要求顯示公歷日期、時(shí)間、星期、農(nóng)歷日期。

首先新建一個(gè)ChineseCanlendar類用于實(shí)現(xiàn)和農(nóng)歷相關(guān)的操作:

【ChineseCanlendar.cs】

/*
?* 作者:JeronZhou
?* 時(shí)間:2021-11-01
?* 功能:動(dòng)態(tài)數(shù)字時(shí)鐘和日歷
?*/

using System;
using System.Linq;
using System.Globalization;

namespace Test2_1
{
? ? static public class ChineseCanlendar
? ? {
? ? ? ? private static ChineseLunisolarCalendar ChineseCalendar = new ChineseLunisolarCalendar();
? ? ? ? private static string[] tg = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };
? ? ? ? private static string[] dz = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };
? ? ? ? private static string[] sx = { "鼠", "牛", "虎", "兔", "龍", "蛇", "馬", "羊", "猴", "雞", "狗", "豬" };
? ? ? ? public static string GetLunisolarYear(int year)
? ? ? ? {
? ? ? ? ? ? if (year > 3)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? int tgIndex = (year - 4) % 10;
? ? ? ? ? ? ? ? int dzIndex = (year - 4) % 12;
? ? ? ? ? ? ? ? return string.Concat(tg[tgIndex], dz[dzIndex], "[", sx[dzIndex], "]");
? ? ? ? ? ? }
? ? ? ? ? ? throw new ArgumentOutOfRangeException("年份無(wú)效!");
? ? ? ? }
? ? ? ? private static string[] months = { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二(臘)" };
? ? ? ? private static string[] days1 = { "初", "十", "廿", "三" };
? ? ? ? private static string[] days = { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" };
? ? ? ? public static string GetLunisolarMonth(int month)
? ? ? ? {
? ? ? ? ? ? if (month < 13 && month > 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return months[month - 1];
? ? ? ? ? ? }
? ? ? ? ? ? throw new ArgumentOutOfRangeException("月份無(wú)效!");
? ? ? ? }
? ? ? ? public static string GetLunisolarDay(int day)
? ? ? ? {
? ? ? ? ? ? if (day > 0 && day < 32)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (day != 20 && day != 30)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? return string.Concat(days1[(day - 1) / 10], days[(day - 1) % 10]);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? return string.Concat(days[(day - 1) / 10], days1[1]);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? throw new ArgumentOutOfRangeException("無(wú)效日期!");
? ? ? ? }
? ? ? ? public static string GetChineseDateTime(DateTime datetime)
? ? ? ? {
? ? ? ? ? ? int year = ChineseCalendar.GetYear(datetime);
? ? ? ? ? ? int month = ChineseCalendar.GetMonth(datetime);
? ? ? ? ? ? int day = ChineseCalendar.GetDayOfMonth(datetime);
? ? ? ? ? ? int leapMonth = ChineseCalendar.GetLeapMonth(year);
? ? ? ? ? ? bool isleap = false;
? ? ? ? ? ? if (leapMonth > 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (leapMonth == month)
? ? ? ? ? ? ? ? { ? ?
? ? ? ? ? ? ? ? ? ? isleap = true;
? ? ? ? ? ? ? ? ? ? month--;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (month > leapMonth)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? month--;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return string.Concat(GetLunisolarYear(year), "年", isleap ? "閏" : string.Empty, GetLunisolarMonth(month), "月", GetLunisolarDay(day));
? ? ? ? }
? ? }
}

【窗體設(shè)計(jì)】

從上到下設(shè)置三個(gè)標(biāo)簽,并添加背景顏色,為了使效果更佳,最好將窗口全部填滿:

【MainForm.cs】

/*
?* 作者:JeronZhou
?* 時(shí)間:2021-11-01
?* 功能:動(dòng)態(tài)數(shù)字時(shí)鐘和日歷
?*/

using System;
using System.Linq;
using System.Windows.Forms;

namespace Test2_1
{
?? ?public partial class MainForm : Form
? ? {
? ? ? ? public MainForm()
? ? ? ? {
? ? ? ? ? ? InitializeComponent();
? ? ? ? ? ? timer1.Start();
? ? ? ? }
?? ??? ?void Timer1Tick(object sender, EventArgs e)
?? ??? ?{
?? ? ? ? ? ?label1.Text = DateTime.Now.ToString();
?? ? ? ? ? ?switch(DateTime.Now.DayOfWeek.ToString())
?? ? ? ? ? ?{
?? ? ? ? ? ??? ?case "Monday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期一"; break;
?? ? ? ? ? ??? ?case "Tuesday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期二"; break;
?? ? ? ? ? ??? ?case "Wednesday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期三"; break;
?? ? ? ? ? ??? ?case "Thursday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期四"; break;
?? ? ? ? ? ??? ?case "Friday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期五"; break;
?? ? ? ? ? ??? ?case "Saturday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期六"; break;
?? ? ? ? ? ??? ?case "Sunday":
?? ? ? ? ? ??? ??? ?label2.Text = "星期日"; break;
?? ? ? ? ? ?}
? ? ? ? ? ? string GCDT = ChineseCanlendar.GetChineseDateTime(DateTime.Now);
? ? ? ? ? ? label3.Text = GCDT;
?? ??? ?}
? ? }
}

【Program.cs】

/*
?* 作者:JeronZhou
?* 時(shí)間:2021-11-01
?* 功能:動(dòng)態(tài)數(shù)字時(shí)鐘和日歷
?*/

using System;
using System.Windows.Forms;

namespace Test2_1
{
?? ?internal sealed class Program
?? ?{
?? ??? ?[STAThread]
?? ??? ?private static void Main(string[] args)
?? ??? ?{
?? ??? ??? ?Application.EnableVisualStyles();
?? ??? ??? ?Application.SetCompatibleTextRenderingDefault(false);
?? ??? ??? ?Application.Run(new MainForm());
?? ??? ?}
?? ?}
}

【運(yùn)行結(jié)果】

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論