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

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

  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

Чем я ошибся?

Ответ 1

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

String timeStamp = GetTimestamp(new DateTime());

:

String timeStamp = GetTimestamp(DateTime.Now);