Java LocalTime

Java LocalTime class belongs to the Java 8 DateTime API.

Java LocalTime类属于Java 8 DateTime API

Java LocalTime (Java LocalTime)

  • LocalTime provides time without any time zone information. It is very much similar to observing the time from a wall clock which just shown the time and not the time zone information.

    LocalTime提供的时间没有任何时区信息。 这与从墙上时钟观察时间非常相似,后者只是显示时间而不是时区信息。
  • The assumption from this API is that all the calendar system uses the same way of representing the time.

    该API的假设是所有日历系统都使用相同的时间表示方式。
  • It is a value-based class, so use of reference equality (==), identity hash code or synchronization on instances of LocalTime may have unexpected results and is highly advised to be avoided. The equals method should be used for comparisons.

    这是一个基于值的类,因此在本地时间实例上使用引用相等(==),标识哈希码或同步可能会产生意外结果,因此强烈建议避免使用。 equals方法应用于比较。
  • The LocalTime class is immutable that mean any operation on the object would result in a new instance of LocalTime reference.

    LocalTime类是不可变的 ,这意味着对该对象进行的任何操作都会导致LocalTime引用的新实例。

如何创建LocalTime对象 (How to Create LocalTime Object)

LocalTime objects can be created using the below mentioned ways.

可以使用以下提到的方式创建LocalTime对象。

  1. LocalTime instance can be created using the now() method of LocalTime class. There are two other overloaded now() methods that takes argument as Clock and ZoneId.
    LocalTime lt = LocalTime.now();
    System.out.println(lt); //15:43:43.212787
    
    LocalTime lt1 = LocalTime.now(Clock.systemDefaultZone());
    System.out.println(lt1); //15:43:43.213454
    
    LocalTime lt2 = LocalTime.now(ZoneId.systemDefault());
    System.out.println(lt2); //15:43:43.213542

    可以使用LocalTime类的now()方法创建LocalTime实例。 还有另外两个重载的now()方法,它们的参数为ClockZoneId
  2. We can create LocalTime instance using of() method. There are multiple overloaded methods for different arguments for hour, minute, second and nanosecond.
    LocalTime lt = LocalTime.of(10, 30);
    System.out.println(lt); //10:30
    
    LocalTime lt1 = LocalTime.of(10, 30, 45);
    System.out.println(lt1); //10:30:45
    
    LocalTime lt2 = LocalTime.of(10, 30, 45, 12345);
    System.out.println(lt2); //10:30:45.000012345 notice the left padding
    
    LocalTime lt3 = LocalTime.ofInstant(Instant.now(), ZoneId.systemDefault());
    System.out.println(lt3); //15:48:58.358195

    我们可以使用of()方法创建LocalTime实例。 对于小时,分钟,秒和纳秒级的不同参数,有多种重载方法。
  3. We can use LocalTime parse() method to convert String to instance of LocalTime.
    LocalTime lt = LocalTime.parse("10:30");
    System.out.println(lt); //10:30
    
    LocalTime lt1 = LocalTime.parse("10:30:45.1234");
    System.out.println(lt1); //10:30:45.123400
    
    LocalTime lt2 = LocalTime.parse("10.3.45.1234", DateTimeFormatter.ofPattern("H.m.s.n"));
    System.out.println(lt2); //10:03:45.000001234

    我们可以使用LocalTime parse()方法将String转换为LocalTime的实例。

Java LocalTime方法 (Java LocalTime Methods)

There are methods in LocalTime class for different purposes. We have divided it into following categories.

LocalTime类中有一些用于不同目的的方法。 我们将其分为以下几类。

  • Getting time from LocalTime – getHour(), getMinute(), getSecond() and getNano().

    从LocalTime获取时间– getHour()getMinute()getSecond()getNano()
  • Time manipulation – plusHours(), minusHours(), plusMinutes(), minusMinutes(), plusSeconds(), minusSeconds(), plusNanos() and minusNanos().

    时间操纵– plusHours()minusHours()plusMinutes()minusMinutes()plusSeconds()minusSeconds()plusNanos()minusNanos()
  • Comparison in LocalTime – isAfter() and isBefore() to check if this LocalTime is after/before the specified time. We can use these methods to compare two local times.

    isAfter()比较– isAfter()isBefore()以检查此isBefore()是否在指定时间之后/之前。 我们可以使用这些方法来比较两个当地时间。

Java LocalTime示例 (Java LocalTime Example)

Let’s look at java LocalTime example program to explore all the above mentioned methods.

让我们看一下Java LocalTime示例程序,以探索上述所有方法。

package com.journaldev.java;

import java.time.LocalTime;

public class LocalTimeExample {

	public static void main(String[] args) {

		LocalTime lt = LocalTime.now();
		System.out.println("Current Time: " + lt);

		System.out.println("\nHour: " + lt.getHour());
		System.out.println("Minute: " + lt.getMinute());
		System.out.println("Second: " + lt.getSecond());
		System.out.println("Nanosecond: " + lt.getNano());

		// add 2 hours, 10 minutes, 30 seconds and 1000 nanoseconds
		lt = lt.plusHours(2);
		lt = lt.plusMinutes(10);
		lt = lt.plusSeconds(30);
		lt = lt.plusNanos(1000);
		System.out.println("\nUpdated Time: " + lt);

		// minus 2 hours, 10 minutes, 30 seconds and 1000 nanoseconds
		lt = lt.minusHours(2);
		lt = lt.minusMinutes(10);
		lt = lt.minusSeconds(30);
		lt = lt.minusNanos(1000);
		System.out.println("\nUpdated Time: " + lt);

		LocalTime ct = LocalTime.now();

		System.out.println("\nlt before ct ? " + lt.isBefore(ct));
		System.out.println("lt after ct ? " + lt.isAfter(ct));
	}

}

That’s all for Java LocalTime example programs.

Java LocalTime示例程序就这些了。

Reference: API Doc

参考: API文档

翻译自: https://www.journaldev.com/17916/java-localtime

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值