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

如何设置DateTime格式:添加星期前缀并转换日期显示样式

如何设置DateTime格式以显示带星期的英文日期

嘿,这个需求很常见,咱们直接用.NET里DateTime的ToString方法配合自定义格式字符串就能轻松搞定,分两种场景给你说明白:

1. 直接格式化当前时间(DateTime.Now)

如果你是要直接把DateTime.Now转换成目标格式,只需要给ToString传入对应的格式字符串就行:

// 基础用法,依赖系统默认文化
string formattedDate = DateTime.Now.ToString("dddd , dd MMMM yyyy");

格式符含义拆解:

  • dddd:输出完整的星期名称(比如Sunday、Monday)
  • dd:两位数字的日期(不足两位自动补0,比如27、05)
  • MMMM:输出完整的月份英文名称(比如May、January)
  • yyyy:四位数字的年份(比如2018)

注意:系统文化的影响

如果你的程序运行环境默认不是英文文化(比如中文系统),直接用上面的代码会输出中文的星期和月份。这时候需要指定英文文化信息来确保输出是英文:

// 指定英文(美国)文化,确保输出英文的星期和月份
var enUSCulture = new System.Globalization.CultureInfo("en-US");
string formattedDate = DateTime.Now.ToString("dddd , dd MMMM yyyy", enUSCulture);

2. 先解析现有日期字符串再格式化

如果你已经有了"27/5/2018"这样的日期字符串,需要先把它解析成DateTime对象,再进行格式化:

string originalDateString = "27/5/2018";
// 解析字符串,格式要和原字符串匹配:d/M/yyyy(日期1-2位,月份1-2位,年份4位)
if (DateTime.TryParseExact(originalDateString, "d/M/yyyy", null, System.Globalization.DateTimeStyles.None, out DateTime parsedDate))
{
    // 格式化解析后的DateTime对象
    var enUSCulture = new System.Globalization.CultureInfo("en-US");
    string formattedDate = parsedDate.ToString("dddd , dd MMMM yyyy", enUSCulture);
    // 这里就可以使用formattedDate了
}
else
{
    // 处理解析失败的情况,比如原字符串格式不正确
}

这样处理后,就能得到你想要的Sunday , 27 May 2018格式啦。

内容的提问来源于stack exchange,提问作者Yann Kang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:09:23