Сохранение текущего времени в виде целого числа - PullRequest
0 голосов
/ 12 января 2010

Я хотел бы сохранить текущее время как целое число, perl. Я знаю, что мне нужен TimeSpan, начиная с начала Windows. Я знаю, что с какого времени начинается Windows ?, 1 января 1601 г.

scope_creep

Ответы [ 3 ]

4 голосов
/ 12 января 2010

Должно ли быть целым числом? Это может быть долго? Если это так, простой ответ - использовать свойство .Ticks для объекта DateTime.

Вы также можете получить "минимальный" DateTime, поддерживаемый из свойства MinValue. Затем вы можете использовать обычный оператор вычитания, чтобы получить разницу во времени между двумя датами.

Кроме того, хранение времен в виде целых чисел может быть сложным, поскольку максимальное (без знака) значение int может хранить только около 136 лет. Если вам нужно разрешение выше этого, вам нужно использовать long или, по крайней мере, убедиться, что вы правильно выбрали дату начала.

ОБНОВЛЕНИЕ : Чтобы ответить на ваши комментарии, вы можете сохранить время, а затем рассчитать секунды следующим образом:

long Ticks1 = DateTime.Now.AddSeconds(-10).Ticks;
long Ticks2 = DateTime.Now.Ticks;
TimeSpan elapsedTime = TimeSpan.FromTicks(Ticks2 - Ticks1);
1 голос
/ 12 января 2010

Вы можете сохранить время как целое число, начиная с любой точки, которая вам нравится. Просто убедитесь, что он всегда одинаков. Чтобы преобразовать ваше значение в объект DateTime, создайте новый объект DateTime с выбранной вами датой начала и добавьте количество секунд, хранящееся в вашей целочисленной переменной, чтобы вернуться к используемому объекту. Чтобы преобразовать DateTime в ваше значение, просто используйте метод DateTime.Subtract с объектом DateTime, созданным для даты начала.

0 голосов
/ 12 января 2010

Тип значения DateTime представляет даты и время со значениями в диапазоне от 12:00:00 до полуночи, 1 января 0001 года от Anno Domini (Common Era) до 23:59:59 PM, 31 декабря 9999 года нашей эры (CE)

http://msdn.microsoft.com/en-us/library/system.datetime.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...