java【基础】日期操作

主要是date类,SimpleDateFormat类以及Calendar类的使用。 date表示日期,simpleDateFormat 表示日期格式化,Calendar一般用来做时间的操作,比如加减天数,月数等

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//获取当前时间
		Date d = new Date();
		System.out.println(d.getTime());
		System.out.println(d);
		//获取当前时间转为yyyy-MM-dd HH:mm:ss
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(df.format(d));
		
		//时间戳转为日期格式(我加了1分钟)
		long atime=d.getTime()+60000L;
		d.setTime(atime);
		System.out.println(df.format(d));
		
		//那如果我想获取上个月怎么办,使用Calendar
		Calendar cad = Calendar.getInstance();
		//列举下Calendar的使用技巧
		//转换为Date对象
		System.out.println(cad.getTime());
		//将Date对象转换为Calendar
		cad.setTime(d);//这之前上面给d在当前时间基础上加了1分钟
		System.out.println(cad.getTime());
		
		//给Calendar设置时间 注意month,第一月是0
		cad.set(2018,6,17,17,48,20);
		System.out.println(cad.getTime());
		
		//对日期进行比较
		Calendar cad1 = Calendar.getInstance();
		Calendar cad2 = Calendar.getInstance();
		System.out.println(cad1.compareTo(cad2));
		//当cad2减去20个小时
		cad1.add(cad1.HOUR,-20);
		System.out.println(cad1.getTime());
		System.out.println(cad1.compareTo(cad2));
		
		//获取下时区
		System.out.println(cad1.getTimeZone());
		
		//如果我换时区为utc0再观察自己的当前时间发现-8小时
		TimeZone tz = TimeZone.getTimeZone("GMT+00:00");
		cad2.setTimeZone(tz);
		//获取下时区,注意了,不要使用getTime()获取date对象,因为他是使用默认时区来表示的。如果返回date对象那看到的时间还是北京时间
		System.out.println(cad2.get(Calendar.HOUR));//日历中的小时变成减去8小时
		
		//这里我们来测试一下,二月份的天数是多少天
		Calendar cad3 = Calendar.getInstance();
		cad3.set(2018,6,29,17,48,20);
		cad3.add(cad1.MONTH,-5);
		System.out.println(cad3.getTime());//很不幸这里这里是2月的最后一天,因为2月29号不存在
	}

  

原文地址:https://www.cnblogs.com/gavinjunftd/p/9325363.html