Как конвертировать метку времени в DateTime? - PullRequest
0 голосов
/ 30 октября 2018

Я хочу преобразовать эпоху в удобочитаемую дату и наоборот.
Я хочу написать что-то похожее на ссылку на C #.

Преобразование даты в файле place.sqlite в Firefox в DateTime.

static void Main(string[] args)
{
    //1540787809621000
    string epoch = "1540787809621000";
}

private string epoch2string(int epoch) {
    return 
        new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
            .AddSeconds(epoch)
            .ToShortDateString(); 
}

int size Недостаточно, я пробую долгую эпоху, но не работаю

1 Ответ

0 голосов
/ 30 октября 2018

Ваше время - это время Unix в микросекундах.

Если вы используете .Net 4.6 или новее, вы можете преобразовать его в DateTime следующим образом.

long time = 1540787809621000; // Unix time in microseconds.

time /= 1000; // Divide by 1,000 because we need milliseconds, not microseconds.

DateTime result = DateTimeOffset.FromUnixTimeMilliseconds(time).DateTime;

Console.WriteLine(result); // Prints 29/10/2018 04:36:49 (UK format)
...