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

如何在C#中将日期格式化为「星期全称 月份全称 日 时分秒 年」格式?

实现目标日期格式的简单方法

嘿,你完全不用手动拆分日期组件来拼接,C#的DateTime类自带了强大的格式化能力,一行代码就能搞定你想要的格式!

核心思路:使用自定义格式字符串

你需要的「Tuesday April 17 6:12:02 2018」格式,对应的格式符组合是:"dddd MMMM d H:mm:ss yyyy",每个部分的含义如下:

  • dddd:输出星期的完整名称(比如Tuesday)
  • MMMM:输出月份的完整名称(比如April)
  • d:输出不带前导零的日期(17就显示17,5就显示5)
  • H:mm:ss:输出24小时制的时分秒(如果要12小时制且不带AM/PM,可换成h:mm:ss)
  • yyyy:输出四位年份

完整代码示例

把你原来的代码简化后,直接用ToString()方法传入格式字符串即可:

using System;
// 如果需要强制英文格式,需引入这个命名空间
// using System.Globalization;

class Program 
{ 
    static void Main(string[] args) 
    { 
        var yesterday = DateTime.Now.AddDays(-1);
        
        // 默认使用系统当前文化输出,若系统是英文环境直接这样写
        Console.WriteLine(yesterday.ToString("dddd MMMM d H:mm:ss yyyy"));
        
        // 如果你的系统是中文等非英文环境,想要强制输出英文格式,指定不变文化:
        // Console.WriteLine(yesterday.ToString("dddd MMMM d H:mm:ss yyyy", CultureInfo.InvariantCulture));
    } 
}

为什么不建议手动拼接?

你原来的拆分方式不仅繁琐,还容易踩坑——比如不同文化下的星期/月份名称会乱掉,哪天需要前导零还要额外处理。用DateTime自带的格式化方法能自动适配这些细节,代码也更简洁易读。

内容的提问来源于stack exchange,提问作者lawal yemi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:24:26