📜  Java中的Java Clock tickMinutes() 方法及示例

📅  最后修改于: 2022-05-13 01:55:10.437000             🧑  作者: Mango

Java中的Java Clock tickMinutes() 方法及示例

Java.time.Clock.tickMinutes(ZoneId zone)方法是 Clock 类的静态方法,它使用最佳可用系统时钟返回当前时刻的整分钟计时,并且该时刻的时区与传递的时区相同作为参数。

时钟的纳秒和秒字段设置为零以在整分钟内舍入瞬间。底层时钟是与系统(ZoneId)相同的最佳系统时钟。零或一纳秒的持续时间对基本时钟方法没有影响。这些将返回相同的基本时钟。

返回的时钟也是不可变的、线程安全的和可序列化的,此方法等效于 tick(system(zone), Duration.ofMinutes(1))。

句法:

public static Clock tickMinutes(ZoneId zone)

参数:此方法需要一个强制参数zone ,它是用于在整分钟内对时钟的瞬间进行四舍五入的时区。

返回值:此方法返回一个时钟,以整分钟为单位返回当前即时滴答声
区域与作为参数传递的区域相同。

例子:

Code:
ZoneId zoneId = ZoneId.of("Asia/Calcutta");
Clock clock = Clock.tickMinutes(zoneId);
System.out.println(clock.instant());

Output:
2018-08-21T19:55:00Z

Explanation::
method tickMinutes() returns the instant 
which ticks in a whole minute. It means the second
and nanosecond fields are zero, which can be 
visualized as the second field is empty in output.

下面的程序说明了Java.time.Clock 类的 tickMinutes() 方法:

程序 1:当使用“亚洲/加尔各答”区域创建时钟时,用于打印整分钟的时钟滴答瞬间。

// Java program to demonstrate
// tickMinutes() method of Clock class
  
import java.time.*;
  
// create class
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
        // Zone Id with Zone Asia/Calcutta
        ZoneId zoneId = ZoneId.of("Asia/Calcutta");
  
        // create a clock which ticks in whole minute
        Clock clock = Clock.tickMinutes(zoneId);
  
        // print instance of clock
        System.out.println(clock.instant());
    }
}
输出:
2018-08-24T07:51:00Z

程序 2:打印带有“欧洲/巴黎”区域的时钟的日期和时间以及每整分钟的时钟滴答声。

// Java program to demonstrate
// tickMinutes() method of Clock class
  
import java.time.*;
  
// create class
public class tickMinutesMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // Zone Id with Zone Europe/Paris
        ZoneId zoneId = ZoneId.of("Europe/Paris");
  
        // create a clock which ticks in whole minute
        Clock clock = Clock.tickMinutes(zoneId);
  
        // get ZonedDateTime object to print time
        ZonedDateTime time = clock.instant()
                                 .atZone(clock.getZone());
  
        // print time variable value
        System.out.println("Date and Time :" + time);
    }
}
输出:
Date and Time :2018-08-24T09:52+02:00[Europe/Paris]

参考:
https://docs.oracle.com/javase/8/docs/api/java Java