TimeUtil.cpp 502 B

12345678910111213141516171819202122232425
  1. // Copyright 2024 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "Common/TimeUtil.h"
  4. #include <ctime>
  5. #include <optional>
  6. namespace Common
  7. {
  8. std::optional<std::tm> Localtime(std::time_t time)
  9. {
  10. std::tm local_time;
  11. #ifdef _MSC_VER
  12. if (localtime_s(&local_time, &time) != 0)
  13. return std::nullopt;
  14. #else
  15. std::tm* result = localtime_r(&time, &local_time);
  16. if (result != &local_time)
  17. return std::nullopt;
  18. #endif
  19. return local_time;
  20. }
  21. } // Namespace Common