Java日期操作
介绍如何获取Java日期,以及Java日期运算。
操作方法
- 01
获取当前日期: java.util.Date date = new java.util.Date(); 这个是util包下在Date,不是sql包下的,不要引用错误。 不能直接输出这个date,要将它格式化之后再输出就符合我们的审美观了。 格式化方法: java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 括号中的格式是自己定义的,还可以是其他格式如:“yyyy年MM月dd日”,“yyyy/MM/dd”可以根据自己的实际情况进行定义。
- 02
使用Calendar获取当前日期: Calendar cal = Calendar.getInstance(); System.out.println("Current Date: " + cal.getTime()); 这样输出的结果:Current Date: Tue Jun 10 10:31:44 CST 2014
- 03
使用TimeStamp获取当前日期: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Timestamp now = new Timestamp(System.currentTimeMillis()); String sf = sdf.format(now); System.out.println(sf); 输出结果: 2014-06-10
- 04
当前日: int day = cal.get(Calendar.DATE); 当前月 :(注:月份是从0开始的)int month = cal.get(Calendar.MONTH) + 1; 当前年: int year = cal.get(Calendar.YEAR); 本周的第几天 :(在国外周日是一周的第一天)int dow = cal.get(Calendar.DAY_OF_WEEK); 本月的第几天: int dom = cal.get(Calendar.DAY_OF_MONTH); 本年的第几天: int doy = cal.get(Calendar.DAY_OF_YEAR); System.out.println("Day: " + day);输出结果:Day:10 System.out.println("Month: " + month);输出结果:Month:6 System.out.println("Year: " + year);输出结果:Year:2014 System.out.println("Day of Week: " + dow);输出结果:Day of Week:3(今天星期二) System.out.println("Day of Month: " + dom);输出结果:Day of Month:10 System.out.println("Day of Year: " + doy);输出结果:Day of Year:161
- 05
将指定格式的字符串转换为日期: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date sd = sdf.parse("2013-12-25");
Java日期运算
- 01
两个日期之差: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date d1=sdf.parse("2013-12-25"); Date d2=sdf.parse("2013-12-29"); long result =(d2.getTime()-d1.getTime())/(24*60*60*1000); System.out.println(result); 输出结果:4
- 02
在指定日期上加上多少天: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date sd = sdf.parse("2013-12-23"); Calendar cal1 = new GregorianCalendar(); cal1.setTime(sd); cal1.add(Calendar.DATE, 161); System.out.println(sdf.format(cal1.getTime()));
- 03
Calendar cal = Calendar.getInstance(); 在当前日期加上几天: cal.add(Calendar.DATE, 161); 在当前日期减去几天: cal.add(Calendar.DATE, -161); 在当前日期加上几个月: cal.add(Calendar.MONTH,2); ------------------------------------ void java.util.Calendar.add(int field, int amount) 只要更改field即可。