From ad19d2c967e896c5426b9d98dfdbc2c4279eb319 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Kanjeevaram Date: Thu, 10 Apr 2025 06:03:40 +0530 Subject: [PATCH] Display local time instead of UTC while restoring previous session (#18775) Closes #18727 --- src/cascadia/TerminalControl/ControlCore.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/cascadia/TerminalControl/ControlCore.cpp b/src/cascadia/TerminalControl/ControlCore.cpp index 7c57fda7d0..0a94352e72 100644 --- a/src/cascadia/TerminalControl/ControlCore.cpp +++ b/src/cascadia/TerminalControl/ControlCore.cpp @@ -1831,9 +1831,23 @@ namespace winrt::Microsoft::Terminal::Control::implementation } FILETIME lastWriteTime; + FILETIME localFileTime; SYSTEMTIME lastWriteSystemTime; - if (!GetFileTime(file.get(), nullptr, nullptr, &lastWriteTime) || - !FileTimeToSystemTime(&lastWriteTime, &lastWriteSystemTime)) + + // Get the last write time in UTC + if (!GetFileTime(file.get(), nullptr, nullptr, &lastWriteTime)) + { + return; + } + + // Convert UTC FILETIME to local FILETIME + if (!FileTimeToLocalFileTime(&lastWriteTime, &localFileTime)) + { + return; + } + + // Convert local FILETIME to SYSTEMTIME + if (!FileTimeToSystemTime(&localFileTime, &lastWriteSystemTime)) { return; }