栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

日期、时间、时间戳

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

日期、时间、时间戳

日期时间类:LocalDateTime //年月日时分秒
日期类:LocalDate // 年月日
时间类:LocalTime // 时分秒

时间戳:Instant

数据库中日期格式化

字符串格式化为日期

	SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
	sf.parse("2000-1-1")
日期时间
    //当前时间
    LocalDateTime ldt = LocalDateTime.now();
    System.out.println(ldt);//2022-05-15T15:01:21.451937400
    // 按照给定的字符,格式化为时间对象
    LocalDateTime ldt2 = LocalDateTime.of(2016, 11, 11, 13, 25, 14);
    System.out.println(ldt2);//2016-11-11T13:25:14
    // 两年以后的当前日期
    LocalDateTime ldt3 = ldt.plusYears(2);
    System.out.println(ldt3);//2024-05-15T15:01:21.451937400
    // 两个月之前的当前时间
    LocalDateTime ldt4 = ldt.minusMonths(2);
    System.out.println(ldt4);//2022-03-15T15:01:21.451937400
    // 本月10日同一时间
    LocalDateTime ldt5 = ldt.withDayOfMonth(10);
    System.out.println(ldt5);//2022-05-10T14:51:46.390582100
    // 下周同一时间
    LocalDateTime ldt6 = ldt.with(TemporalAdjusters.next(DayOfWeek.SATURDAY));
    System.out.println(ldt6);//2022-05-21T14:51:46.390582100

    // 自定义:下一个工作日
    LocalDate ld = LocalDate.now().with((l) -> {
        LocalDate ld1 = (LocalDate) l;

        DayOfWeek dow = ld1.getDayOfWeek();

        if (dow.equals(DayOfWeek.FRIDAY)) {
            return ld1.plusDays(3);
        } else if (dow.equals(DayOfWeek.SATURDAY)) {
            return ld1.plusDays(2);
        } else {
            return ld1.plusDays(1);
        }
        System.out.println("下一个工作日是:" + ld);
        // 从LocalDateTime对象中获取年、月、日、时、分、秒
        System.out.println(ldt.getYear());
        System.out.println(ldt.getMonthValue());
        System.out.println(ldt.getDayOfMonth());
        System.out.println(ldt.getHour());
        System.out.println(ldt.getMinute());
        System.out.println(ldt.getSecond());
    }
时间戳、时区、计算间隔时间
		// 默认使用 UTC 时区
		Instant it = Instant.now();
		System.out.println(it);//2022-05-15T06:49:43.758863500Z
		// 设置为东8区的时间
		OffsetDateTime odt = it.atOffset(ZoneOffset.ofHours(8));
		System.out.println(odt);//2022-05-15T14:49:43.758863500+08:00
		// 当前时间的时间戳
		System.out.println(it.toEpochMilli());//1652597383758
		// 通过时间戳的值计算日期
		Instant it2 = Instant.ofEpochSecond(1);
		System.out.println(it2);//1970-01-01T00:00:01Z
根据时间戳计算间隔时间
		Instant ins1 = Instant.now();
		try {
		    Thread.sleep(2000);
		} catch (InterruptedException e) {
		    e.printStackTrace();
		}
		Instant ins2 = Instant.now();
		Duration between = Duration.between(ins1, ins2);
		System.out.println(between.getSeconds());//间隔的秒数
使用时间计算时间间隔
    // 以当前时间计算间隔
    LocalTime lt1 = LocalTime.now();
    System.out.println("lt1 = " + lt1);
    try {
        Thread.sleep(6000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    LocalTime lt2 = LocalTime.now();

    System.out.println(Duration.between(lt1, lt2).toMillis());//间隔的毫秒数
}
DateTimeFormatter : 解析和格式化日期或时间
		    LocalDateTime ldt = LocalDateTime.now();//当前时间
		    // 格式化为 ISO_DATE 格式
		    DateTimeFormatter dtf = DateTimeFormatter.ISO_DATE;
		    String str = ldt.format(dtf);//iso格式化
		    System.out.println(str);//2022-05-15
		
		    System.out.println("-----------自定义格式化格式------------");
		
		    DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
		    String newDate = dtf2.format(ldt);//自定义格式化格式
		    System.out.println(newDate);//2022年05月15日 14:55:19
		    System.out.println("--------------去格式化恢复最初的格式----------------");
		    LocalDateTime ldt2 = LocalDateTime.parse(newDate, dtf2);//解析为最初的格式
		    System.out.println(ldt2);//2022-05-15T14:55:19
ZonedDate、ZonedTime、ZonedDateTime : 带时区的时间或日期
        LocalDateTime ldt = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
        System.out.println(ldt);//2022-05-15T15:00:01.859641600

        ZonedDateTime zone = ldt.atZone(ZoneId.of("Asia/Shanghai"));
        System.out.println(zone);//2022-05-15T15:00:01.859641600+08:00[Asia/Shanghai]

打印所有时区的名称
		    Set zoneIds = ZoneId.getAvailableZoneIds();
		    zoneIds.forEach(System.out::println);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/891667.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号