// 초기화시간 계산 string TransformTime(uint type, string RefreshTime) { string msg = ""; // 시간 DateTime Now = DateTime.Now; //현재시간 //DateTime ResetTime; //초기화시간 //DateTime NormalShopResetTime = new DateTime(); //일반상점 초기화시간 (2시간) int year = int.Parse(RefreshTime.Substring(0, 4)); int month = int.Parse(RefreshTime.Substring(4, 2)); int day = int.Parse(RefreshTime.Substring(6, 2)); int hour = int.Parse(RefreshTime.Substring(8, 2)); DateTime ResetTime = new DateTime(year, month, day, 0, 0, 0); if (type == 1) { // 일반상점 if (hour >= 22) //10시이후에는 hour+2 했을경우 24시를 넘어가기때문에 그냥 하루를 더해줌 // ResetTime = new DateTime(year, month, day + 1, 0, 0, 0, 0); //2시간 { ResetTime = ResetTime.AddDays(1); } else { //ResetTime = new DateTime(year, month, day, hour + 2, 0, 0); //2시간 ResetTime = ResetTime.AddHours(hour + 2); } } else { // 나머지상점 if (day + 1 > DateTime.DaysInMonth(year, month)) // day+1 이 그달의 일수를 넘어간다면? ex) 2월 29일인데 +1 해서 30이나왓다 { ResetTime = ResetTime.AddMonths(1); //ResetTime = new DateTime(year, month + 1, 0, 0, 0, 0); //하루 } else { //ResetTime = new DateTime(year, month, day + 1, 0, 0, 0); //하루 ResetTime = ResetTime.AddDays(1); } } TimeSpan ts = ResetTime - Now; msg = string.Format("{0} {1:00} : {2:00} : {3:00}", _LowDataMgr.instance.GetStringCommon(463), ts.Hours, ts.Minutes, ts.Seconds); if (ts.Seconds < 0) { msg = string.Format("{0} {1:00} : {2:00} : {3:00}", _LowDataMgr.instance.GetStringCommon(463), 0, 0, 0); } return(msg); }