Я получаю некоторые ненужные данные, возвращаемые вызовом ToString () для объекта DateTime в C #, и я боюсь, что нахожусь в тупике после того, как некоторое время возился с ним.
Предполагается, что функция форматирует даты в соответствии с RFC 822 (как того требует спецификация RSS) и выглядит следующим образом:
public static string FormatPubDate(DateTime pubDate)
{
string _rfc822Format = "ddd, dd MMM yyyy HH:mm:ss";
string _tmp = pubDate.ToUniversalTime().ToString(_rfc822Format);
return pubDate.ToString(_tmp + " UT");
}
Что должно быть тем, что я хочу, из того, что я могу прочитать из документации DateTime ToString ().
Однако, для некоторых дат это генерирует мусор:
Console.WriteLine(FormatPubDate(new DateTime(2008, 12, 16, 13, 44, 33)));
Console.WriteLine(FormatPubDate(new DateTime(2008, 12, 17, 13, 44, 33)));
Console.WriteLine(FormatPubDate(new DateTime(2009, 3, 18, 4, 17, 20)));
Console.WriteLine(FormatPubDate(new DateTime(2009, 4, 30, 10, 44, 33)));
Урожайность:
Tue, 16 Dec 2008 19:44:33 UT
We17, 17 Dec 2008 19:44:33 UT
We18, 18 3ar 2009 09:17:20 UT
T10u, 30 Apr 2009 15:44:33 UT
Есть идеи, почему возвращается We18 вместо Wed и 3ar вместо Mar?