بیشتر اشیاء مبتنی بر Temporal یک متد بدون پارامتر now() دارند که تاریخ و زمان فعلی را با استفاده از ساعت سیستم و منطقهی زمانی پیشفرض برمیگرداند. این اشیاء همچنین متد now(Clock) با یک پارامتر دارند که امکان ارسال یک Clock جایگزین را فراهم میکند.
تاریخ و زمان فعلی به منطقهی زمانی بستگی دارد و برای برنامههای جهانی، وجود یک Clock برای اطمینان از ایجاد تاریخ/زمان با منطقهی زمانی صحیح ضروری است. بنابراین اگرچه استفاده از کلاس Clock اختیاری است، این ویژگی به شما امکان تست کد با مناطق زمانی دیگر یا با استفاده از یک Clock ثابت (که زمان تغییر نمیکند) را میدهد.
کلاس Clock انتزاعی (Abstract) است، بنابراین نمیتوانید نمونهای از آن بسازید. متدهای فابریکی زیر برای تست کاربرد دارند:
Clock.offset(Clock, Duration) ساعتی برمیگرداند که به اندازهی Duration مشخصشده جابهجا شده است.Clock.systemUTC() ساعتی نمایندهی منطقهی زمانی گرینویچ/UTC برمیگرداند.Clock.fixed(Instant, ZoneId) همیشه یک Instant ثابت برمیگرداند. در اینجا زمان متوقف است.این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://dev.java/learn/