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);