summaryrefslogtreecommitdiff
path: root/Source/Core/Common/TimeUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/TimeUtil.cpp')
-rw-r--r--Source/Core/Common/TimeUtil.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/Core/Common/TimeUtil.cpp b/Source/Core/Common/TimeUtil.cpp
new file mode 100644
index 0000000000..39d989fb3f
--- /dev/null
+++ b/Source/Core/Common/TimeUtil.cpp
@@ -0,0 +1,24 @@
+// Copyright 2024 Dolphin Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "Common/TimeUtil.h"
+
+#include <ctime>
+#include <optional>
+
+namespace Common
+{
+std::optional<std::tm> Localtime(std::time_t time)
+{
+ std::tm local_time;
+#ifdef _MSC_VER
+ if (localtime_s(&local_time, &time) != 0)
+ return std::nullopt;
+#else
+ std::tm* result = localtime_r(&time, &local_time);
+ if (result != &local_time)
+ return std::nullopt;
+#endif
+ return local_time;
+}
+} // Namespace Common