powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Миллесекунды в дату C#
10 сообщений из 10, страница 1 из 1
Миллесекунды в дату C#
    #38359935
J_Mnemonic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые, подскажите пожалуйста. Как миллисекунды перевести в дату? (milliseconds --> DateTime)
Гуглил, но что то ничего вразумительного не получилось найти.
Есть вариант с переводом в UTC дату:

DateTime uTime = DateTime.SpecifyKind(new DateTime(1970, 1, 1).AddMilliseconds(timeBytes), DateTimeKind.Utc);

где timeBytes это 4 байта в формате long.

Но у меня в протоколе (который я пытаюсь распарсить) описание поля следующее:
"Значение sysUptime в миллисекундах на момент коммутации последнего пакета в данном потоке"
ничего про UTC не сказано.

встретил такой вариант ещё
new DateTime(timeBytes * 10000);
но не совсем уверен в его верности.
подсажите пожалуйста.
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38359942
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J_Mnemonic,

а это чем не подходит
http://msdn.microsoft.com/en-us/library/z2xf7zzk(v=vs.100).aspx

авторDateTime Constructor (Int64)

A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38359955
J_Mnemonic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris, спасибо!
получается всё таки этот вариант - new DateTime(timeBytes * 10000) ?
я просто читал что tiks это не совсем миллисекунды и автор говорил:
The DateTime(long ticks) constructor is what you need. Each tick represents 100 nanoseconds so multiply by 10000 to get to 1 millisecond.
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38359963
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J_Mnemonic,

ну если наносек - это 10^-9, милисек - это 10^-3, то да, нужно умножить на 1000000/100 = 10000
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38360136
J_Mnemonic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А раз уж разговор о времени пошёл, можно ещё кое что спрошу? (я пока что плаваю в понятиях TimeStamp и DateTime)
Мне нужно две даты между собой вычесть и получить значение (разницу) в секундах. Даты представлены в DateTime.
если я просто вычту DateTime - DateTime, я получу DateTime, правильно? а как лучше теперь его представить в секундах?
или может как то по другому наждо сделать?
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38360142
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J_Mnemonic, DateTime - DateTime даст на выходе TimeSpan, то есть интервал времени между двумя датами. У TimeSpan есть свойство TotalSeconds которое тебе и нужно.
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38360144
J_Mnemonic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в предыдущем посте я опечатался. TimeSpan а не про TimeStamp я имел ввиду
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38360146
J_Mnemonic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое! именно то что нужно (зарубку в мозгу сделал)
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38360147
J_Mnemonic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а просто Seconds у TimeSpan вернёт секунды без дробной части?
...
Рейтинг: 0 / 0
Миллесекунды в дату C#
    #38360171
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J_Mnemonic, не совсем. посмотри на пример:
Код: c#
1.
2.
3.
4.
5.
DateTime d1 = new DateTime(2013, 1, 1, 0, 0, 0);
DateTime d2 = new DateTime(2013, 1, 1, 0, 1, 11);
TimeSpan delta = d2 - d1;
Console.WriteLine(delta.TotalSeconds); // 71
Console.WriteLine(delta.Seconds); // 11
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Миллесекунды в дату C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]