If I set up a clock in Windows 10 that displays UTC time:
It displays a date and time that is an hour different to the .Net DateTime.UtcNow() function and the SQL Server GETUTCDATE()
Why is this? Which one is right? How do I get them the same?
As @BryceWagner points out, despite the fact that you named the bottom clock "UTC", it's actually set to UTC-11 hours.
Change the dropdown to "(UTC) Coordinated Universal Time" (or the Windows 10 equivalent).