From bcc73bd40dc9ac2b48f9982871b9befc970cbb91 Mon Sep 17 00:00:00 2001 From: TELK Date: Mon, 5 Aug 2019 03:35:56 +0900 Subject: [PATCH] Add: 'getsysdate' console command (#7658) Add `getsysdate` console command to display system's local time, which is might be useful to check current time in script logging. --- src/console_cmds.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 740bbdde88..13784178f5 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -39,6 +39,7 @@ #include "engine_base.h" #include "game/game.hpp" #include "table/strings.h" +#include #include "safeguards.h" @@ -1302,13 +1303,27 @@ DEF_CONSOLE_CMD(ConGetSeed) DEF_CONSOLE_CMD(ConGetDate) { if (argc == 0) { - IConsoleHelp("Returns the current date (day-month-year) of the game. Usage: 'getdate'"); + IConsoleHelp("Returns the current date (year-month-day) of the game. Usage: 'getdate'"); return true; } YearMonthDay ymd; ConvertDateToYMD(_date, &ymd); - IConsolePrintF(CC_DEFAULT, "Date: %d-%d-%d", ymd.day, ymd.month + 1, ymd.year); + IConsolePrintF(CC_DEFAULT, "Date: %04d-%02d-%02d", ymd.year, ymd.month + 1, ymd.day); + return true; +} + +DEF_CONSOLE_CMD(ConGetSysDate) +{ + if (argc == 0) { + IConsoleHelp("Returns the current date (year-month-day) of your system. Usage: 'getsysdate'"); + return true; + } + + time_t t; + time(&t); + auto timeinfo = localtime(&t); + IConsolePrintF(CC_DEFAULT, "System Date: %04d-%02d-%02d %02d:%02d:%02d", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec); return true; } @@ -1925,6 +1940,7 @@ void IConsoleStdLibRegister() IConsoleCmdRegister("restart", ConRestart); IConsoleCmdRegister("getseed", ConGetSeed); IConsoleCmdRegister("getdate", ConGetDate); + IConsoleCmdRegister("getsysdate", ConGetSysDate); IConsoleCmdRegister("quit", ConExit); IConsoleCmdRegister("resetengines", ConResetEngines, ConHookNoNetwork); IConsoleCmdRegister("reset_enginepool", ConResetEnginePool, ConHookNoNetwork);