2015-08-20 5 views
-2

Я отправляю запрос на сервер. Позже я получить ответФормат даты в формате

void feed_OnStreamTrade(string symbol, int tradeFlags, object tradeConditions, byte tradeExchange, double tradePrice, int tradeSize, DateTime tradeDatetime) 
    { 
    //code 
    } 

я должен получить время в формате

гггг MM дд чч мм сс FFF

но я получить его без миллисекунд (без FFF)

Снимок экрана

enter image description here

Я не понимаю. Windows сокращает миллисекунды?

+1

Парящий над переменной в VS в режиме отладки не значит ничего. Это просто показывает вам результат 'DateTime.ToString()', который будет использовать только форматирование по умолчанию, которое обычно не включает миллисекунды. Если вы хотите миллисекунды, вы должны явно запросить эту информацию, указав правильную строку формата. – sstan

ответ

0

Если вы уже знаете формат кодирования, который вы хотите, почему бы вам не применить его?

DateTime test = new DateTime(2015, 08, 05, 11, 05, 05, 55); 
MessageBox.Show(test.ToString("yyyy MM dd HH mm ss FFF")); 

Выход:2015 08 05 11 05 05 055

Вы также можете выбрать миллисекунды только:

MessageBox.Show(test.Millisecond.ToString());

Выход:055

Так нет, миллисекунды НЕ резаным , Они просто не видны. Вы все равно можете рассчитывать на вычисления.

0

Вы просто показываете, что Visual Studio показывает в секундоме. Visual Studio может просто скрывать миллисекунды.

В вашем коде, если вы:

quoteDateTime.Millisecond 

Вы должны получить миллисекунды, если речь идет, как 0, то, вероятно, удаляется где-то в трубопроводе между ответом службы и ваш метод.

4

Несомненно, Windows не сокращает миллисекунды с даты и времени. Но Visual Studio по умолчанию не показывает их. Просто добавьте шарик на скриншот, и вы увидите миллисекунды (конечно, если они действительно присутствуют в вашем значении datetime).

enter image description here

+0

Скриншот http://f5.s.qip.ru/twYEFMgn.png – alexander

+0

Ну, в вашем случае миллисекунды могут быть обрезаны где-то в другом месте. Вы уверены, что ваш сервер действительно отправляет вам время с миллисекундами? Во всяком случае, это не проблема Windows и .NET. Это где-то в вашем приложении или сервере. –

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