将 MMDDYYYY 转换为 01-JAN-YY

5

我有一个字符串,格式为in = "01012012"。我想将它转换为:01-JAN-12。如何在C#中实现?


“02012012”是1月2日还是2月1日?(即您使用欧洲格式还是美国格式?) - Sergey Kalinichenko
@dasblinkenlight 标题中已经给出了日期格式。先写月份,然后是日期。 - Adam Lear
标题说:月-日-年,所以应该是2月1日。在这里看看:http://msdn.microsoft.com/zh-cn/library/8kb3ddd4.aspx - Naytzyrhc
2个回答

14
DateTime dateTime = DateTime.ParseExact("01012012", "MMddyyyy", CultureInfo.InvariantCulture);
string newDateString = dateTime.ToString("dd-MMM-yy");

编辑:更改输出为两位数日期(而不是四位数)


2
datetime.ParseExact需要至少3个参数。 - RG-3
1
正确,它还接受一个 System.IFormatProvider,我相信你可以像这样提供它:DateTime.ParseExact("01012012", "MMddyyyy", CultureInfo.InvariantCulture); - 当然这取决于你的使用情况。 - Maxim Gershkovich

0

找到了答案:

     CultureInfo provider = CultureInfo.InvariantCulture;
     DateTime date = DateTime.ParseExact("08312012", "MMddyyyy", provider);
     string getDate = date.ToString("dd-MMM-yy");

谢谢大家!!!


8
看起来你的答案和Adam的完全相同。你应该接受他的答案而不是发布自己的答案。 - Adam Lear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接