如何在ASP.NET Boilerplate 3.1中修改输入日期格式为dddd, dd-MM-yyyy?
解决日期格式修改为dddd, dd-MM-yyyy的问题
问题原因及对应解决方案:
- 输入类型错误
如果你的input是字符串而非DateTime对象,直接调用ToString()不会生效。必须先将字符串解析为DateTime,再进行格式化:
string inputStr = "2024-05-15"; if (DateTime.TryParse(inputStr, out DateTime date)) { string formattedDate = date.ToString("dddd, dd-MM-yyyy"); }
- 格式字符串不匹配
你之前使用的"yyyy-MM-dd"和目标格式dddd, dd-MM-yyyy不符,替换为正确的格式字符串即可:
DateTime input = DateTime.Now; string formattedDate = input.ToString("dddd, dd-MM-yyyy");
- 文化区域影响显示
如果需要显示中文星期(如“星期三”),需指定对应文化信息,避免系统默认文化导致星期显示为英文:
using System.Globalization; DateTime input = DateTime.Now; string formattedDate = input.ToString("dddd, dd-MM-yyyy", CultureInfo.GetCultureInfo("zh-CN")); // 输出示例:星期三, 15-05-2024
- 后续代码覆盖结果
检查是否在格式化后,又将字符串转回DateTime类型再输出——DateTime本身不存储格式,输出时会使用默认格式,需确保最终使用的是格式化后的字符串。
内容的提问来源于stack exchange,提问作者Abdul Wahab Bhatti
相关产品推荐
相关产品推荐

