728x90

GMT 시간을 구하기 위해 사용한

TimeZoneInfo gmtMinus5Zone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
DateTime gmtMinus5Time = TimeZoneInfo.ConvertTimeFromUtc(utcTime, gmtMinus5Zone);
return gmtMinus5Time.ToString("yyyy-MM-dd HH:mm:ss");

 

에디터에서는 괜찮으나 빌드하면 문제가 있음 

TimeZoneInfo.FindSystemTimeZoneById(timeZoneName) : Windows에서는 작동하지만 Android에서는 작동하지 않습니다! - Unity 포럼

 

TimeZoneInfo.FindSystemTimeZoneById(timeZoneName) Working on Windows But Not In Android!

Hello. this line of code works fine on Windows: TimeZoneInfo.FindSystemTimeZoneById(timeZoneName) but in Android Build i get this error: Directory...

forum.unity.com

 

해결을 위해 다 뒤져보다 결국 .NET은 지원되나, Unity에서는 지원되지 않는구나 라는 결론에 도달

문제는 FindSystemTimeZoneById("") 를 string으로 주면 동작하지 않는다는 것이였다

그러나 사용가능한사례를 발견

TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id) 값으로는 사용가능함

    DateTime localTime = DateTime.Now;  // 시스템의 시간대 설정에 맞추기 위해
    DateTime utcTime = localTime.ToUniversalTime(); // 로컬시간을 UTC 시간으로 변환
    DateTimeOffset dateTimeOffset = new DateTimeOffset(utcTime);
    dateTimeOffset = dateTimeOffset.AddHours(TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id).GetUtcOffset(dateTimeOffset).Hours);
    return dateTimeOffset.ToString("yyyy-MM-dd HH:mm:ss");

이렇게 잘 썼다

 

얘는 안됨.. 암튼 안됨

    TimeZoneInfo gmtMinus5Zone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
    DateTime gmtMinus5Time = TimeZoneInfo.ConvertTimeFromUtc(utcTime, gmtMinus5Zone);
    return gmtMinus5Time.ToString("yyyy-MM-dd HH:mm:ss");
728x90
Posted by 바르마스
,