Programming

C #에서 올바른 타임 스탬프를 얻는 방법

procodes 2020. 7. 11. 11:19
반응형

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

내가 뭘 잘못 했니?


실수 new DateTime()로 현재 날짜 및 시간 대신 00 : 00 : 00.000에 0001 년 1 월 1 일을 반환하는을 사용 하고 있습니다. 현재 날짜와 시간을 얻는 올바른 구문은 DateTime.Now 이므로 다음을 변경하십시오.

String timeStamp = GetTimestamp(new DateTime());

이에:

String timeStamp = GetTimestamp(DateTime.Now);

var Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();

var timestamp = DateTime.Now.ToFileTime();

이 답변은 그 자체로는 "더 나은"것이 아니라, 이미 제공 한 것과 유사한 결과를 제공하지만 덜 장황한 대안적인 답변입니다. 유닉스 시간이 아니지만, Windows 파일 시간은 여전히 ​​개별 트랜잭션을 개별화하는 데 사용될 수 있습니다.


Int32 unixTimestamp = (Int32) (DateTime.UtcNow.Subtract (new DateTime (1970, 1, 1))). TotalSeconds;

DateTime.UtcNow는 유닉스 타임 스탬프를 가져 오려는 DateTime 객체로 바꿀 수 있습니다.

참고 URL : https://stackoverflow.com/questions/21219797/how-to-get-correct-timestamp-in-c-sharp

반응형