Unity/버그 잡기

ArgumentOutOfRangeException: Year, Month, and Day parameters describe an un-representable DateTime.

SharpSteamedBread 2026. 1. 6. 11:38

푸시 알림을 구현하는 데에 DateTime을 사용하고 있다. 그러나 위의 오류가 뜬다.

오류를 있는 그대로 살펴보자면 각 DateTime 값이 지정된 범위를 초과했다는 뜻이다. 예를 들면 13월, 32일 같은 범위 오차인 것이다. (각 연도의 윤일 유무를 조심해야 할 필요가 있다.)

나의 경우에는 너무 기초적인 실수 때문이었다. 파라미터 값을 DateTime(int day, int hour, int minute)로 착각하고 쓴 것이다! 아래 오버로드에는 그 어디에도 그런 게 없다. 왜 그랬지? 

        public DateTime(long ticks);
        public DateTime(long ticks, DateTimeKind kind);
        public DateTime(int year, int month, int day);
        public DateTime(int year, int month, int day, Calendar calendar);
        public DateTime(int year, int month, int day, int hour, int minute, int second);
        public DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
        public DateTime(int year, int month, int day, int hour, int minute, int second, Calendar calendar);
        public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
        public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
        public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar);
        public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar, DateTimeKind kind);