I'm looking at the Clock class from java so that I can inject it as a dependency for better testability. But I don't understand the difference between the two methods systemUTC and systemDefaultZone. The Instant.now() seems to be internally using systemUTC clock whereas YearMonth.now() uses the systemDefaultZone clock. I already read the javadoc but it wasn't very clear to me.
I have code that use Instant.now() and YearMonth.now() and would like to understand the difference between the two clocks with some examples where using each the clocks wrongly can lead to a problem.