我想以字符串形式获取日期时间对象,例如“mm/yyyy”
ViewBag.Created = d.item.StartDate.ToString("mm/yyyy");
但我得到的字符串是 10-2012。请帮助我克服这个问题。
月份的格式,应该是MM
,mm
是分钟
ViewBag.Created = d.item.StartDate.ToString("MM/yyyy",
CultureInfo.InvariantCulture);
mm
是分钟,并且/
是特定于区域性的日期分隔符。这听起来像在当前的文化中,-
是日期分隔符。我怀疑你想要MM/yyyy
使用不变的文化,它/
作为分隔符:
ViewBag.Created = d.item.StartDate.ToString("MM/yyyy",
CultureInfo.InvariantCulture);
或者,您可以只引用斜线:
ViewBag.Created = d.item.StartDate.ToString("MM'/'yyyy");
请注意,如果当前区域性使用非公历,则此差异也会更改月份和年份数字。
有关更多详细信息,请参阅有关自定义日期和时间格式说明符的 MSDN 页面。
您确定要修复所有文化的格式吗?不幸的是,没有办法说“给我一个适合文化的月份和年份格式”,但你至少需要意识到这对某些人来说可能看起来很奇怪。
您可以使用
ViewBag.Created = d.item.StartDate.ToString(@"MM\/yyyy");