如何在C#中按指定格式显示当前日期并嵌入自定义语句
C#实现自定义日期语句模板的方案
嘿,这需求很清晰,我给你几个实用的实现方式,轻松搞定日期嵌入模板的问题:
方法一:字符串插值(C# 6+ 推荐)
这是最简洁直观的写法,直接在字符串里插入日期的各个部分,代码可读性拉满:
// 获取当日日期(不带时间部分,更贴合需求) DateTime today = DateTime.Today; // 直接用插值语法替换模板中的占位位置 string deliveryMessage = $"包裹将于本月第({today.Day})日,({today.ToString("MMMM", new System.Globalization.CultureInfo("en-US"))})月,({today.Year})年在公司门店配送"; // 输出结果,比如当日是2022年10月3日的话,就会得到你想要的句子 Console.WriteLine(deliveryMessage);
方法二:String.Format(兼容老版本C#)
如果你的项目还在使用C# 6之前的版本,或者需要复用模板字符串,用String.Format更合适:
DateTime today = DateTime.Today; // 定义带占位符的模板 string template = "包裹将于本月第({0})日,({1})月,({2})年在公司门店配送"; // 传入日期参数完成格式化 string deliveryMessage = string.Format( template, today.Day, today.ToString("MMMM", new System.Globalization.CultureInfo("en-US")), today.Year ); Console.WriteLine(deliveryMessage);
关键细节说明
- 月份全称的语言控制:上面的代码用
en-US文化获取英文月份全称(比如October),如果需要中文月份(比如十月),只需要把en-US换成zh-CN即可。 - 日期部分的获取:
today.Day返回当月的数字日期,today.Year返回四位数字年份,完全匹配你的需求。 - DateTime.Today vs DateTime.Now:用
DateTime.Today会获取不带时间的当日日期,比DateTime.Now更适合纯日期场景。
内容的提问来源于stack exchange,提问作者WiloWisk
相关产品推荐
相关产品推荐

