如何用函数去计算x年x月x日是(C#)

如何用函数去计算x年x月x日是?

由于现在人工智能的普及,我们往往会用计算机去算,或者去记录事情

1.计算某一年某一个月有多少天
2.计算某年某月某日是周几
c# 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 程序日
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //
            Console.WriteLine(DateTime.Now.DayOfWeek);//这个是计算今天周几
            Console.WriteLine(DateTime.Now.DayOfYear);//这个是计算这个月是几号


            //计算某年某月有多少天
            Console.WriteLine("请输入年份");
            int year = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入月份");
            int month = Convert.ToInt32(Console.ReadLine());
            int day = DateTime.DaysInMonth(year, month);
            Console.WriteLine($"{year}年{month}月,有{day}天");

            //2.计算某年某月某日是周几
            Console.WriteLine("请输入年份");
            int y=Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入月份");
            int m=Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入日份");
            int d=Convert.ToInt32(Console.ReadLine());
            if (m == 1 || m == 2) { m += 12; y--; }
            if (m == 1 || m == 2) { m += 12; y--; }
            int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
            string weekstring = "";
            switch (week)
            {
                case 0: weekstring = "星期日"; break;
                case 1: weekstring = "星期一"; break;
                case 2: weekstring = "星期二"; break;
                case 3: weekstring = "星期三"; break;
                case 4: weekstring = "星期四"; break;
                case 5: weekstring = "星期五"; break;
                case 6: weekstring = "星期六"; break;
                default: break;
            }
            Console.WriteLine($"{year}年 {month} 月 {day} 日是{weekstring}" );
        }
    }
}
相关推荐
lsx2024067 分钟前
Python3 SMTP发送邮件教程
开发语言
懈尘8 分钟前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
凉辰11 分钟前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好13 分钟前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.25 分钟前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
橙露28 分钟前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
froginwe1128 分钟前
C 标准库 - `<float.h>`
开发语言
2501_9160088939 分钟前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
wxin_VXbishe1 小时前
C#(asp.net)学员竞赛信息管理系统-计算机毕业设计源码28790
java·vue.js·spring boot·spring·django·c#·php
Dimpels1 小时前
CANN ops-nn 算子解读:AIGC 批量生成中的 Batch 处理与并行算子
开发语言·aigc·batch