Как получить правильную метку времени в C#



Я хотел бы получить действительную метку в моем приложении, поэтому я написал:



  public static String GetTimestamp(DateTime value) {
return value.ToString("yyyyMMddHHmmssffff");
}
...later on in the code
String timeStamp = GetTimestamp(new DateTime());
Console.WriteLine(timeStamp);


выход:



000101010000000000


Я хотел что-то вроде:



20140112180244


что я сделал не так?

900   3  

3 ответов:

ваша ошибка заключается в использовании new DateTime(), которая возвращает 1 января 0001 в 00:00:00.000 вместо текущей даты и времени. Правильный синтаксис для получения текущей даты и времени -дата и время.Сейчас, так что измените это:

String timeStamp = GetTimestamp(new DateTime());

для этого:

String timeStamp = GetTimestamp(DateTime.Now);
var Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
var timestamp = DateTime.Now.ToFileTime();

этот ответ не" лучше " сам по себе, но это альтернативный ответ, который дает результаты, аналогичные тем, которые уже предоставлены, будучи менее подробным. Даже если это не время unix, Windows filetime все еще можно использовать для индивидуализации отдельных транзакций.

Comments

    Ничего не найдено.