Метод DateTimeOffset.ToUnixTimeMilliseconds
Метод ToUnixTimeMilliseconds
точнее, чем
ToUnixTimeSeconds.
Секунды отбрасывают дробную часть
миллисекунд. Обратно -
FromUnixTimeMilliseconds.
Синтаксис
long ms = dateTimeOffset.ToUnixTimeMilliseconds();
Пример
Давайте получить миллисекунды для
2020-01-02 UTC:
using System;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 0, 0, 0, TimeSpan.Zero);
long res = dto.ToUnixTimeMilliseconds();
Console.WriteLine(res);
}
}
Результат выполнения кода:
1577923200000
Пример
Давайте показать, что 750 мс
теряются в ToUnixTimeSeconds:
using System;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 0, 0, 0, 750, TimeSpan.Zero);
long sec = dto.ToUnixTimeSeconds();
long ms = dto.ToUnixTimeMilliseconds();
bool res = ms - sec * 1000 == 750;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте убедиться, что секунды не округляют миллисекунды:
using System;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 0, 0, 0, 750, TimeSpan.Zero);
bool res = dto.ToUnixTimeSeconds() * 1000
!= dto.ToUnixTimeMilliseconds();
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
FromUnixTimeMilliseconds,
из миллисекунд -
ToUnixTimeSeconds,
целые секунды -
FromUnixTimeSeconds,
дата из секунд -
DateTime.ToString,
текстовый формат