Java获取当天最小(00:00:00)最大(23:59:59)时间 转换

Java获取当天最小(00:00:00)最大(23:59:59)时间  转换

package com.jeff;import java.text.SimpleDateFormat;import java.time.Instant;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.ZoneId;import java.util.Date;public class DateTest6 {

	public static void main(String[] args) {
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println("当前时间:" + sdf.format(date));
		System.out.println("==============================");
		System.out.println("今天开始时间:" + sdf.format(getStartOfDay(date)));
		System.out.println("今天结束时间:" + sdf.format(getEndOfDay(date)));
	}

	/**
	 * 
	 * @description: 获得当天最小时间
	 * @author: Jeff
	 * @date: 2019年12月21日
	 * @param date
	 * @return
	 */
	public static Date getStartOfDay(Date date) {
		LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),
				ZoneId.systemDefault());
		LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
		return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
	}

	/**
	 * 
	 * @description: 获得当天最大时间
	 * @author: Jeff
	 * @date: 2019年12月21日
	 * @param date
	 * @return
	 */
	public static Date getEndOfDay(Date date) {
		LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()),
				ZoneId.systemDefault());
		LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
		return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
	}}

控制台输出结果
在这里插入图片描述



欢迎分享,(联系QQ/微信:282625252)

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论