主要是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号不存在 }