平常在做项目的时候,获取系统时间还是比较常见的,具体有以下几种方式
目录
一、获取当前时分秒
//时分秒
LocalTime time = LocalTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
System.out.println(time.format(formatter));
运行结果
二、获取当前年月日
//年月日
LocalDate date = LocalDate.now();
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.println(date.format(formatter1));
运行结果
三、获取当前年月日时分秒
//年月日时分秒
//1
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println(now.format(formatter2));
//2
Date now1 = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(now1));
//3
Date now2 = Calendar.getInstance().getTime();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format1.format(now2));
运行结果
四、获取当前时间戳
概念:格林威治时间1970年01月01日00时00分00秒到现在的总秒数,共10位,单位为秒
注意:Java生成的时间戳共13位,单位为毫秒
//当前时间戳,单位毫秒
long l = System.currentTimeMillis();
System.out.println(l);
运行结果
五、时间戳13位转10位,即ms--->>s
方法一:整除1000
//十位时间戳,单位:秒
long l = System.currentTimeMillis()/1000;
System.out.println(l);
运行结果
方法二:将时间戳转为字符串类型,截取前10位
//10位时间戳,单位:秒
long l = System.currentTimeMillis();
String s = (l + "").substring(0, 10);
System.out.println(s);
运行结果
六、时间戳格式化
//获取时间戳
long l = System.currentTimeMillis();
//格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = format.format(l);
System.out.println(s);
运行结果
七、获取当前秒数
//当前秒数
int i = Calendar.getInstance().get(Calendar.SECOND);
System.out.println(i);
运行结果