2013-04-11 4 views
3

Я работаю над проектом, и я получаю следующее строковое представление времени и даты, то есть «00:02:52 АПРЕЛЬ 11, 2013 GMT». Когда я использую метод DateTime.Parse():C# DateTime.Parse (someString)

DateTime dt= DateTime.Parse(dateString);

string text = dt.ToString("hh:mm:ss MMM dd, yyyy ").ToUpper();

Мой выход (текст) является:

": 02: 52 11 апреля 2013 GMT"

и НЕ

": 02: 52 апреля 11, 2013 GMT «

Я не понимаю, почему час (ЧЧ) изменился на 00-55. Я проследил свой код через В.С. много раз. Все, что я делаю, обрезает месяц, APRIL - APR.

Может кто-нибудь, пожалуйста, дайте мне понять, что я делаю неправильно или отсутствует?

Спасибо!

+2

Проверьте вашу настройку часового пояса, и посмотреть примеры кода [здесь] (http://msdn.microsoft.com/en-us/library/system.datetime.parse. aspx) и [здесь] (http://msdn.microsoft.com/en-us/library/system.datetime.kind.aspx). –

+0

Спасибо за подсказку Роберт! –

ответ

1

Попробуйте

string dateString = "00:02:52 APRIL 11, 2013 GMT"; 
DateTime dt = DateTime.Parse(dateString).ToUniversalTime(); 
+0

Спасибо Sachin! Оно работает! Извините, по-видимому, мне нужно 15 репутаций, чтобы дать вам +1 на ваш ответ. –

+1

Вы должны иметь возможность отметить свой ответ как «Принято». –

+0

Привет, Дэвид. Я (нооб) просто присоединился к SO. Как я могу пометить ответ Сачина как принятый? –

Смежные вопросы