You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现输入日期获取对应星期几?C#程序开发问询

解决C#获取日期并输出对应星期几的问题

嘿,你已经搞定了获取用户输入的核心部分,接下来咱们把功能补全,让程序能准确输出指定日期的星期几。这里给你一套完整且健壮的实现方案:

using System;

class Program
{
    static void Main()
    {
        int day, month, year;
        
        // 获取并验证日输入
        Console.WriteLine("Enter the day...");
        while (!int.TryParse(Console.ReadLine(), out day) || day < 1 || day > 31)
        {
            Console.WriteLine("Please enter a valid day (1-31)!");
        }
        
        // 获取并验证月输入
        Console.WriteLine("Enter the month...");
        while (!int.TryParse(Console.ReadLine(), out month) || month < 1 || month > 12)
        {
            Console.WriteLine("Please enter a valid month (1-12)!");
        }
        
        // 获取并验证年输入
        Console.WriteLine("Enter the year...");
        while (!int.TryParse(Console.ReadLine(), out year) || year < 1)
        {
            Console.WriteLine("Please enter a valid positive year!");
        }
        
        try
        {
            // 创建DateTime对象处理日期逻辑
            DateTime inputDate = new DateTime(year, month, day);
            // 直接输出英文全称的星期几
            Console.WriteLine($"The day of the week is: {inputDate.DayOfWeek}");
        }
        catch (ArgumentOutOfRangeException)
        {
            Console.WriteLine("Error: The date you entered is invalid (e.g., February 30th)!");
        }
    }
}

关键细节说明

  • 我把你原来的int.Parse换成了int.TryParse,还加了循环验证逻辑——这样用户输入非整数或者超出合理范围的数值时,程序不会直接崩溃,而是提示重新输入,实用性更强。
  • .NET自带的DateTime类已经帮我们封装了所有日期计算的复杂逻辑,直接传入年、月、日就能创建有效的日期对象。
  • DayOfWeek是一个枚举类型,调用inputDate.DayOfWeek就能直接得到对应的星期几,它的默认ToString()输出就是你需要的英文全称(比如例子里的Thursday)。
  • 加了try-catch块专门处理无效日期的情况(比如2月30日、4月31日这类不存在的日期),给用户清晰的错误提示。

额外小技巧

如果需要输出星期的缩写形式(比如Thu),可以用inputDate.ToString("ddd");要是想输出中文星期几,直接用inputDate.DayOfWeek.ToString("G", new System.Globalization.CultureInfo("zh-CN"))就行。

内容的提问来源于stack exchange,提问作者EP1X WARR10R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:49:58