From 105ddf93e06fc49d4543875d01bddaab3680e689 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 16 Sep 2018 04:52:13 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8F=99=EA=B2=B0,=20=EC=A7=80=EC=97=B0?= =?UTF-8?q?=EC=9D=B8=20=EA=B2=BD=EC=9A=B0=EC=97=90=20=ED=95=9C=ED=95=B4=20?= =?UTF-8?q?=EC=BB=A4=EB=A7=A8=EB=93=9C=20=EC=B0=BD=EC=9D=98=20=EC=9B=94=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=EA=B0=80=20=EB=8B=A4=EB=A5=B4=EA=B2=8C=20?= =?UTF-8?q?=EB=90=98=EB=8D=98=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95.?= =?UTF-8?q?=20addTurn,=20subTurn,=20cutTurn=20=EB=93=B1=EC=97=90=EC=84=9C?= =?UTF-8?q?=20=EB=B0=80=EB=A6=AC=EC=B4=88=20=ED=91=9C=EA=B8=B0=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/_admin1_submit.php | 2 +- hwe/commandlist.php | 6 ++---- hwe/func.php | 27 ++++++++++++++++++++++----- 3 files changed, 25 insertions(+), 10 deletions(-) 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) {