KoreanFoodie's Study

[언리얼] 타임 스탬프 찍기(TimeStamp, 시간 로그) 본문

Game Dev/Unreal C++ : Dev Log

[언리얼] 타임 스탬프 찍기(TimeStamp, 시간 로그)

GoldGiver 2024. 2. 23. 20:09

[언리얼] 어떤 개념 : 어떻게 하기

핵심 :

1. UObject 라면, UWorld::GetRealTimeSeconds() 함수를 사용할 수 있다.

2. C++ 클래스라면, FDateTime::Now() 를 쓸 수도 있다.

3. milisecond 를 원한다면 FDateTime::UtcNow() 를 쓰자.

1. UObject 일 경우

UWorld* World = GetWorld();

float PrevSeconds;
float ElapsedSeconds;

if (World)
{
	ElapsedSeconds = MyWorld->GetRealTimeSeconds() - PrevSeconds;
	PrevSeconds = MyWorld->GetRealTimeSeconds();
	UE_LOG(LogTemp, Warning, TEXT("ElapsedTime : %f"), ElapsedSeconds);
}

 

 

2. C++ 클래스에서

// Get the current timestamp
FDateTime CurrentTime = FDateTime::Now();

// Convert the timestamp to a string
FString TimestampString = CurrentTime.ToString();

// Print the timestamp
UE_LOG(LogTemp, Warning, TEXT("Current Timestamp: %s"), *TimestampString);

 

 

3. Milisecond 가 필요할 때

// Get the current timestamp in milliseconds
FDateTime CurrentTime = FDateTime::UtcNow();
int64 Milliseconds = CurrentTime.ToUnixTimestamp() * 1000 + CurrentTime.GetMillisecond();

// Convert the timestamp to a string with milliseconds
FString TimestampString = FString::Printf(TEXT("%lld milliseconds"), Milliseconds);

// Print the timestamp with milliseconds
UE_LOG(LogTemp, Warning, TEXT("Current Timestamp: %s"), *TimestampString);

 

Comments