我可以将YYYYMMDD格式的字符串值转换为对人类友好的字符串,如下所示:
string beginDate = GetElement(3, fileBaseName);
string endDate = GetElement(4, fileBaseName);
beginDate = DateTime.ParseExact(beginDate,
"yyyyMMdd",
CultureInfo.InvariantCulture).ToShortDateString();
endDate = DateTime.ParseExact(endDate,
"yyyyMMdd",
CultureInfo.InvariantCulture).ToShortDateString();
return string.Format("{0} to {1}", beginDate, endDate);
但是如上所述使用ToShortDateString(),我得到的不是期望的格式“ 2016年4月1日至2016年4月30日”
当我尝试使用ToLongDateString()时,它朝另一个方向发展,将数字扩展成我想要的月份名称,但是还提供了星期几的长格式,因此相同的值显示为“星期五” ,2016年4月1日至2016年4月30日,星期六”
我真正想要的是将日期范围显示为“ 2016年4月1日至2016年4月30日”(或“ 2016年4月1日至2016年4月30日”)
我可以使用ToShortDateString()和ToLongDateString()之间的中间立场,还是需要“自己动手”才能做到这一点?
最佳答案
您可以使用自己的自定义格式(MMMM d, yyyy
):
beginDate = DateTime.ParseExact(beginDate,
"yyyyMMdd",
CultureInfo.InvariantCulture)
.ToString("MMMM d, yyyy");
endDate = DateTime.ParseExact(endDate,
"yyyyMMdd",
CultureInfo.InvariantCulture)
.ToString("MMMM d, yyyy");
return string.Format("{0} to {1}", beginDate, endDate);
输出:
April 1, 2016 to April 30, 2016
关于c# - 如何获得MediumDateString?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37448427/