Java计算当前时间提前以及推迟几小时方法

  • Post author:
  • Post category:java

方法一:使用Calendar 类

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.junit.Test;

public class TimeTestClass {
	/**
	* @author hh
	* @date 2019/04/25
	* (1)获取当前日历时间
	* (2)根据时间获取指定的时间格式
	* (3)计算推前n小时的时间
	*/
	@Test
	public void test() {
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		//(1)获取当前日历时间
		Date now = new Date();
		//(2)根据时间获取指定的时间格式
		String startTime = sdf.format(now);
		System.out.println("现在时间:"+startTime); 

		Calendar calendar = Calendar.getInstance();
		//(3)计算推前n小时的时间,16为推前16小时
		calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 16);
		String endTime = sdf.format(calendar.getTime());
		System.out.println("提前3小时:"+ endTime);
		
		//(3)计算推迟n小时的时间
		Calendar calendar2 = Calendar.getInstance();
		calendar2.set(Calendar.HOUR_OF_DAY, calendar2.get(Calendar.HOUR_OF_DAY)+ 16);
		String endTime2 = sdf.format(calendar2.getTime());
		System.out.println("提前3小时:"+ endTime2);
	}
}

 

 

方法二:使用JDK8的接口可用。

	@Test
	public void jdk8APITest(){
		DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		//(1)获取当前时间
		LocalDateTime date = LocalDateTime.now();
		System.out.println(dateTimeFormatter.format(date));
		
		//(2)获取当前时间的10小时前
		LocalDateTime localDateTime = date.minusHours(10);
		System.out.println(dateTimeFormatter.format(localDateTime));
		//(3)获取当前时间的10小时后
		localDateTime = date.plusHours(10);
		System.out.println(dateTimeFormatter.format(localDateTime));
	}

 


版权声明:本文为qq_36411874原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。