diff --git a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs
index 4f74505425481047dcbb8606b6fea66083d59b77..43eac1eccc40cb04e75d65a285c9eb6c2c9b9493 100644
--- a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs
+++ b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs
@@ -161,7 +161,7 @@ public override long GetTimestamp()
/// Returns a string representation this provider's idea of current time.
///
/// A string representing the provider's current time.
- public override string ToString() => GetUtcNow().ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture);
+ public override string ToString() => _now.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture);
///
public override ITimer CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period)
diff --git a/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs b/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs
index f4b8d238ea7540ddb7849688944b362dde4ea5f3..4d46cc10c34744fbc2447f2774e5709398f2eb07 100644
--- a/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs
+++ b/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs
@@ -320,5 +320,29 @@ public void AutoAdvance()
Assert.Equal(timeProvider.Start + TimeSpan.FromSeconds(1), second);
Assert.Equal(timeProvider.Start + TimeSpan.FromSeconds(2), third);
}
+
+ [Fact]
+ public void ToString_AutoAdvance_off()
+ {
+ var timeProvider = new FakeTimeProvider();
+
+ _ = timeProvider.ToString();
+
+ Assert.Equal(timeProvider.Start, timeProvider.GetUtcNow());
+ }
+
+ [Fact]
+ public void ToString_AutoAdvance_on()
+ {
+ var timeProvider = new FakeTimeProvider
+ {
+ AutoAdvanceAmount = TimeSpan.FromSeconds(1)
+ };
+
+ _ = timeProvider.ToString();
+
+ timeProvider.AutoAdvanceAmount = TimeSpan.Zero;
+ Assert.Equal(timeProvider.Start, timeProvider.GetUtcNow());
+ }
}