2010-05-31 1 views
1

Как преобразовать DateTimeOffset.Now в совместимую с twitter дату/время?Как я могу преобразовать DateTimeOffset в дату/время Twitter?

Twitter пример:

<created_at>Tue Apr 07 22:52:51 +0000 2009</created_at> 

ура :)

+0

[ooook .....] (http://stackoverflow.com/posts/2941923/revisions). Удаление приветствий не совсем [необычно] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-and-taglines-and-salutations-be-removed-from-posts), но в Будущее, я добавлю вас к крайне короткому «не редактирую сообщения этого человека, они немного неуравновешены» –

+0

:) * wink * Приветствия mate :) больше всего ценится ... и будучи неуравновешенным держит меня на носках :) –

ответ

1

Это почти делает это:

DateTimeOffset now = DateTimeOffset.Now;   
string x = now.ToString("ddd MMM dd HH:mm:ss zzzz yyyy", 
         CultureInfo.InvariantCulture); 
Console.WriteLine(x); 

... но она заканчивается двоеточием в бите часового пояса , Я сейчас смотрю на то, чтобы удалить это.

EDIT: Blech. Лучшее, что я могу сделать на данный момент:

DateTimeOffset now = DateTimeOffset.Now;   
    string x = now.ToString("ddd MMM dd HH:mm:ss", 
          CultureInfo.InvariantCulture) 
     + (now.ToString(" zzzz yyyy", CultureInfo.InvariantCulture) 
       .Replace(":", "")); 
    Console.WriteLine(x); 

Это невероятно уродливо. Имейте в виду, это действительно уродливый формат даты и времени. У Твиттера действительно нет более разумного формата, который вы можете использовать?

+0

Cheers Jon. Я также предполагаю, что DateTimeOffset.TryParse (..) будет работать, чтобы прочитать это? –

+0

@ Pure.Chrome: добавив гадость, чтобы удалить двоеточие, я не знаю лучший способ разбора ... вы можете вручную добавить его снова! Как я уже сказал, вероятно, стоит проверить, есть ли более разумный формат, который вы можете использовать. –

+0

@ Jon я получил информацию о twitter от их DEV api, как здесь: http://dev.twitter.com/doc/get/statuses/show –