I inject ISystemClock to my service:
public class EventSink
{
private readonly ISystemClock _systemClock;
public EventSink(ISystemClock systemClock)
{
_systemClock = systemClock;
}
private async Task SaveEvent(CancellationToken ct)
{
var event = new MyEvent
{
Timestamp = _systemClock.UtcNow.DateTime
};
}
}
it is simply registered on startup:
services.AddScoped<ISystemClock, SystemClock>();
but the DateTime milliseconds property is always 0.
Also this new SystemClock().UtcNow.Millisecond returns always 0.
Examples from Immediate Window:
DateTime.UtcNow.Millisecond
786
new SystemClock().UtcNow.Millisecond
0
System.DateTimeOffset.UtcNow.Millisecond;
265
