java localtime是什么,让我们一起了解一下?
localtime是把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间,而gmtime函数转换后的时间没有经过时区变换,是UTC时间,在java中localtime() 函数返回本地时间(一个数组)。
我们平时在程序里面所见到的UTC时间,就是零时区的时间,它的全称是Coordinated Universal Time ,即世界协调时间。另一个常见的缩写是GMT,即格林威治标准时间,格林威治位于零时区,因此,我们平时说的UTC时间和GMT时间在数值上面都是一样的。
而且从Java8开始,推出了LocalDate、LocalTime、LocalDateTime这三个工具类,实现了更好地时间处理。
那么LocalTime是如何使用的?
工具类的获取与使用代码如下:
import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; public class TestLocalTime { public static void main(String[] args) { //获取当前时区的日期 LocalDate localDate = LocalDate.now(); System.out.println("localDate: " + localDate); //时间 LocalTime localTime = LocalTime.now(); System.out.println("localTime: " + localTime); //根据上面两个对象,获取日期时间 LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime); System.out.println("localDateTime: " + localDateTime); //使用静态方法生成此对象 LocalDateTime localDateTime2 = LocalDateTime.now(); System.out.println("localDateTime2: " + localDateTime2); //格式化时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss"); System.out.println("格式化之后的时间: " + localDateTime2.format(formatter)); //转化为时间戳(秒) long epochSecond = localDateTime2.toEpochSecond(ZoneOffset.of("+8")); //转化为毫秒 long epochMilli = localDateTime2.atZone(ZoneOffset.systemDefault()).toInstant().toEpochMilli(); System.out.println("时间戳为:(秒) " + epochSecond + "; (毫秒): " + epochMilli); //时间戳(毫秒)转化成LocalDateTime Instant instant = Instant.ofEpochMilli(epochMilli); LocalDateTime localDateTime3 = LocalDateTime.ofInstant(instant, ZoneOffset.systemDefault()); System.out.println("时间戳(毫秒)转化成LocalDateTime: " + localDateTime3.format(formatter)); //时间戳(秒)转化成LocalDateTime Instant instant2 = Instant.ofEpochSecond(epochSecond); LocalDateTime localDateTime4 = LocalDateTime.ofInstant(instant2, ZoneOffset.systemDefault()); System.out.println("时间戳(秒)转化成LocalDateTime: " + localDateTime4.format(formatter)); } }
以上就是小编今天的分享了,希望可以帮助到大家。