Java 日期与时间 1、获取当前时间   2、日期比较 3、日期与字符串装换SimpleDateFormat 4、printf格式化输出日期 5、测量一段程序执行时间 6、Calendar类操作日期

  

        Date date = new Date();
        System.out.println(date);//Sun Mar 31 11:45:14 CST 2019
        
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);//java.util.GregorianCalendar...
        
        //import java.sql.Timestamp;
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        System.out.println(timestamp);//2019-03-31 11:45:14.512

 

2、日期比较

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
  • 使用方法 before(),after() 和 equals()。
  • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

 

    /**
     * 
     * @param date1
     * @param date2
     * @return true-(date1早于date2)
     */
    public static boolean compareDatetime(Date date1,Date date2) {
        boolean flag = false;

        //1/getTime()
        long aa = date2.getTime() - date1.getTime();
        if ( aa > 0 ) {
            flag = true;
        }
        
        //2/before()/after()
        flag = date1.before(date2);
        
        //3/compareTo()
        int bb = date2.compareTo(date1);
        System.out.println(bb);
        if ( bb > 0 ) {
            flag = true;
        }
        
        return flag;
    }

3、日期与字符串装换SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:mm:SS");
Date date = new Date();
String strDate = "";
//日期转字符串
strDate = sdf.format(date);
//字符串转日期
date = sdf.parse(strDate);

4、printf格式化输出日期

注意啊 不是println,是printf
其实实际中应该不会怎么用这个,所以就不多说了
具体参考http://www.runoob.com/java/java-date-time.html里的使用printf格式化日期

System.out.printf("%tF" + " " + "%tT", date1,date1);//2018-12-01 15:25:22

5、测量一段程序执行时间

public static void main(String args[]) { 
		try { 
			long start = System.currentTimeMillis( ); 
			System.out.println(new Date( ) + "
");
			Thread.sleep(5*60*10); System.out.println(new Date( ) + "
"); 
			long end = System.currentTimeMillis( ); 
			long diff = end - start; 
			System.out.println("Difference is : " + diff); 
		} catch (Exception e) { 
			System.out.println("Got an exception!");
		} 
		
	}

  

6、Calendar类操作日期

//创建一个代表2009年6月12日的Calendar对象
Calendar c1 = Calendar.getInstance();
//默认是当前日期
c1.set(2009, 6 - 1, 12);

  

Calendar类对象字段类型

Calendar.YEAR 年份
Calendar.MONTH 月份
Calendar.DATE 日期
Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同
Calendar.HOUR 12小时制的小时
Calendar.HOUR_OF_DAY 24小时制的小时
Calendar.MINUTE 分钟
Calendar.SECOND
Calendar.DAY_OF_WEEK 星期几

add方法:

Calendar c1 = Calendar.getInstance(); // c1 默认是当前日期
c1.add(Calendar.DATE, 1);//明天的日期
c1.add(Calendar.DATE, -1);//昨天的日期

相对应的,前天的-2,大前天的-3

月份同理,把Calendar.DATE替换成Calendar.MONTH即可