diff --git a/hwe/_admin1_submit.php b/hwe/_admin1_submit.php index 645a814d..cf4143a7 100644 --- a/hwe/_admin1_submit.php +++ b/hwe/_admin1_submit.php @@ -94,7 +94,7 @@ switch ($btn) { } $turn = ($admin['year'] - $admin['startyear']) * 12 + $admin['month'] - 1; $starttime = $servTurnTime->sub(TimeUtil::secondsToDateInterval($turn * $unit))->format('Y-m-d H:i:s'); - $starttime = cutTurn($starttime, $turnterm); + $starttime = cutTurn($starttime, $turnterm, false); $gameStor->turnterm = $turnterm; $gameStor->starttime = $starttime; pushWorldHistory(["★턴시간이 $btn으로 변경됩니다."]); diff --git a/hwe/commandlist.php b/hwe/commandlist.php index 8d19523a..c4a49c37 100644 --- a/hwe/commandlist.php +++ b/hwe/commandlist.php @@ -75,10 +75,8 @@ function myCommandList() { $gameStor = KVStorage::getStorage($db, 'game_env'); $userID = Session::getUserID(); - $date = TimeUtil::now(); - // 명령 목록 - $admin = $gameStor->getValues(['year','month','turnterm']); + $admin = $gameStor->getValues(['year','month','turnterm','turntime']); $me = $db->queryFirstRow("SELECT `no`,turntime,term,turn0,turn1,turn2,turn3,turn4,turn5,turn6,turn7,turn8,turn9,turn10,turn11,turn12,turn13,turn14,turn15,turn16,turn17,turn18,turn19,turn20,turn21,turn22,turn23 FROM general WHERE `owner`=%s", $userID); if(!$me){ @@ -97,7 +95,7 @@ function myCommandList() { $month = $admin['month']; // 실행된 턴시간이면 +1 $cutTurn = cutTurn($me['turntime'], $admin['turnterm']); - if($date <= $cutTurn) { $month++; } + if($admin['turntime'] <= $cutTurn) { $month++; } $totaldate = $me['turntime']; diff --git a/hwe/func.php b/hwe/func.php index 02c182ff..339a964e 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -1186,21 +1186,27 @@ function banner() { GameConst::$banner); } -function addTurn($date, int $turnterm, int $turn=1) { +function addTurn($date, int $turnterm, int $turn=1, bool $withFraction=true) { $date = new \DateTime($date); $target = $turnterm*$turn; $date->add(new \DateInterval("PT{$target}M")); + if($withFraction){ + return $date->format('Y-m-d H:i:s.u'); + } return $date->format('Y-m-d H:i:s'); } -function subTurn($date, int $turnterm, int $turn=1) { +function subTurn($date, int $turnterm, int $turn=1, bool $withFraction=true) { $date = new \DateTime($date); $target = $turnterm*$turn; $date->sub(new \DateInterval("PT{$target}M")); + if($withFraction){ + return $date->format('Y-m-d H:i:s.u'); + } return $date->format('Y-m-d H:i:s'); } -function cutTurn($date, int $turnterm) { +function cutTurn($date, int $turnterm, bool $withFraction=true) { $date = new \DateTime($date); $baseDate = new \DateTime($date->format('Y-m-d')); @@ -1211,10 +1217,14 @@ function cutTurn($date, int $turnterm) { $diffMin -= $diffMin % $turnterm; $baseDate->add(new \DateInterval("PT{$diffMin}M")); + if($withFraction){ + return $baseDate->format('Y-m-d H:i:s.u'); + } return $baseDate->format('Y-m-d H:i:s'); + } -function cutDay($date, int $turnterm) { +function cutDay($date, int $turnterm, bool $withFraction=true) { $date = new \DateTime($date); $baseDate = new \DateTime($date->format('Y-m-d')); @@ -1236,7 +1246,14 @@ function cutDay($date, int $turnterm) { $diffMin -= $timeAdjust; $baseDate->add(new \DateInterval("PT{$diffMin}M")); - return [$baseDate->format('Y-m-d H:i:s'), $yearPulled, $newMonth]; + if($withFraction){ + $dateTimeString = $baseDate->format('Y-m-d H:i:s.u'); + } + else{ + $dateTimeString = $baseDate->format('Y-m-d H:i:s'); + } + + return [$dateTimeString, $yearPulled, $newMonth]; } function increaseRefresh($type="", $cnt=1) {