1、获取当前时间
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即可