Java笔记-常用类time

常用类
时间日期相关常用类及时间的转换

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.util.Date;

import org.junit.Test;

public class DateTest {

	public static void main(String[] args) {
		//当前时间JDK1.8之前的
		Date d = new Date();
		System.out.println("d " + d);
		System.out.println("d.getTime() " + d.getTime());
		System.out.println("System.currentTimeMillis() " + System.currentTimeMillis());
		
		//把时间戳转换成日期
		long time = 1656814287326L;
		Date d1 = new Date(time);
		System.out.println("d1 " + d1);
		System.out.println(d1.getYear());
		System.out.println(d1.getMonth());
		System.out.println(d1.getDay());
		System.out.println(d1.getHours());
		System.out.println(d1.getMinutes());
		System.out.println(d1.getSeconds());
		
	}

输出

d Sun Jul 03 18:31:54 CST 2022
d.getTime() 1656844314041
System.currentTimeMillis() 1656844314065
d1 Sun Jul 03 10:11:27 CST 2022
122
6
0
10
11
27
	@Test
	public void ld() {
		//1.8之后
		//当前日期
		LocalDate ld = LocalDate.now();
		System.out.println(ld);
		//指定日期
		LocalDate ld1 = LocalDate.of(2022, 7, 3);
		LocalDate ld2 = LocalDate.of(2023, 10, 1);
		System.out.println(ld1);
		
		//计算日期间隔
		Period p = Period.between(ld1, ld2);
		System.out.println("日期间隔 p " + p);
		System.out.println(p.getDays());
		System.out.println(p.getMonths());
		System.out.println(p.getYears());
		
		//当前时间
		LocalTime lt = LocalTime.now();
		System.out.println(lt);
		//指定时间
		LocalTime lt1 = LocalTime.of(16, 30, 30);
		System.out.println(lt1);
		//当前日期时间now
		LocalDateTime ldt = LocalDateTime.now();
		System.out.println("ldt " + ldt);
		
		LocalDateTime ldt2 = LocalDateTime.of(2022, 7, 3, 16, 15, 15);
		LocalDateTime ldt3 = LocalDateTime.of(2022, 8, 3, 17, 16, 30);
		
		//计算时间间隔between
		Duration d2 = Duration.between(ldt2, ldt3);
		System.out.println("d2.getSeconds() " + d2.getSeconds());
		System.out.println("d2.toHours() " + d2.toHours());
		System.out.println("d2.toDays() " + d2.toDays());
		
	}

输出

2022-07-03
2022-07-03
日期间隔 p P1Y2M28D
28
2
1
18:28:53.367
16:30:30
d.getSeconds() -7104
ldt 2022-07-03T18:28:53.367
d2.getSeconds() 2682075
d2.toHours() 745
d2.toDays() 31
	@Test
	public void formatter() {
		String pattern = "yyyy-MM-dd HH:mm:ss";
		DateTimeFormatter df = DateTimeFormatter.ofPattern(pattern);
		//当前日期时间
		LocalDateTime ldt = LocalDateTime.now();
		//日期对象按指定格式转换成字符串
		String cdt = df.format(ldt);
		System.out.println("cdt " + cdt);
		
		//字符串转换成日期时间对象
		String dt = "2022-08-03 16:44:01";
		LocalDateTime ldt2 = LocalDateTime.parse(dt, df);
		System.out.println("ldt2 " + ldt2);
		System.out.println("ldt2.getYear() " + ldt2.getYear());
	}

}

输出

cdt 2022-07-03 18:33:34
ldt2 2022-08-03T16:44:01
ldt2.getYear() 2022
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值